home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / xxxintnl.lha / music.S
Encoding:
Text File  |  1987-01-02  |  45.4 KB  |  2,462 lines

  1.  
  2. ;                  copper list example
  3. ;
  4.  
  5. bwobflag:    dc.w    0
  6. execbase:    equ    4
  7. dmacon:        equ    $dff096
  8. oldopenlibary:    equ    -408
  9.  
  10.  
  11. main:    move.l    execbase,a6
  12.     lea    gfxname,a1
  13.     move.l    #0,d0
  14.     jsr    oldopenlibary(a6)
  15.     tst    d0
  16.     beq    error_no_libary
  17.     move.l    d0,gfxbase
  18.     move.l    d0,a0
  19.     add.l    #$32,a0
  20.     move.w    #$0080,dmacon
  21.     move.l    (a0),oldcopper
  22.     move.l    #newcopper,(a0)
  23.     move.w    #$8080,dmacon
  24.     jsr    mt_init
  25.     jsr    spriteset
  26.     jsr    xxxsetup
  27.     jsr    startpos
  28.     jsr    rrresud
  29.     ;move.w    #$0020,$dff096
  30.     jsr    resettext
  31.     
  32.     move.w    #$4000,$dff09a
  33.     move.l    $6c,store
  34.     move.l    #inter,$6c
  35.     move.w    #$c000,$dff09a
  36.     
  37. wait:    andi.b    #$40,$bfe001
  38.     bne    wait
  39.     
  40.     move.w    #$000f,$dff096
  41.     move.w    #$4000,$dff09a
  42.     move.l    store,$6c
  43.     move.w    #$c000,$dff09a
  44.     clr.l    d0
  45.     ;jsr     start    
  46.     move.l    gfxbase,a0
  47.     add.l    #$32,a0
  48.     ;move.w    #$8020,$dff096
  49.     move.w    #$0080,dmacon
  50.     move.l    oldcopper,(a0)
  51.     move.w    #$8080,dmacon
  52.  
  53. error_no_libary:
  54.     rts    
  55.  
  56. pause:    move.w    #$e000,d3
  57. loop:    add.w    #1,d3
  58.     bne    loop
  59.     rts
  60.  
  61. inter:    jsr    mt_music
  62.     bsr    sprites
  63.     bsr    xxxwob
  64.     bsr    scroller
  65.     ;move.w    #$0fff,$dff180
  66.     dc.w    $4ef9
  67. store:    dc.l    0
  68.  
  69. scroller:
  70.     bsr    moveit
  71.     bsr    sine
  72.     bsr    scrmove
  73.     rts    
  74.  
  75.  
  76. gfxname:
  77.     dc.b    "graphics.library",0
  78.     even
  79.  
  80. scroll:    lea    $70000,a1
  81.     move.l    chart,d1
  82.     add.l    d1,a1
  83.     lea    $71144,a2
  84.     move.b    #$0,d1
  85. loopy:    move.w    (a1),(a2)
  86.     add.l    #50,a2
  87.     add.l    #2,a1
  88.     add.b    #1,d1
  89.     cmp.b    #$20,d1    
  90.     blt    loopy
  91.     rts
  92. chart:    dc.b    0,0
  93. char:    dc.b    $1,$2,$c
  94.     even
  95.  
  96. pauseflag:    dc.l    0,0
  97. pausebit:    dc.l    0,0
  98.  
  99. pauser:    move.w    pausebit,d0
  100.     sub.w    #1,d0
  101.     cmp.w    #0,d0
  102.     beq    unsetpause
  103.     move.w    d0,pausebit
  104.     rts
  105.  
  106. unsetpause:
  107.     move.b    #0,pauseflag
  108.     move.w    #0,pausebit
  109.     bra    newchar
  110.  
  111. setpause:
  112.     move.b    #$f,pauseflag
  113.     move.w    #$0060,pausebit
  114.     rts
  115.  
  116. scrspeed:    dc.w    $0022,0
  117.  
  118. moveit:    move.b    pauseflag,d0
  119.     cmp.b    #$f,d0
  120.     beq    pauser    
  121.     move.w    scrspeed,d0
  122.     move.w    scrpos,d1
  123.     sub.w    d0,d1
  124.     cmp.w    #$f1ef,d1
  125.     bhi    resscr
  126.     move.w    d1,scrpos
  127.     rts
  128.  
  129. misschar:    
  130.     move.b    #0,checkmoveflag
  131.     rts
  132.  
  133. checkmoveflag:    dc.b    0,0,0,0
  134.  
  135. resscr:    move.b    checkmoveflag,d0
  136.     cmp.b    #$f,d0
  137.     beq    misschar
  138.  
  139.     move.w    #$00ff,scrpos
  140.     lea    $71114,a2
  141.     lea    $71116,a3
  142.     move.w    #$0,d0
  143. looppy:    move.w    (a3),(a2)
  144.     add.l    #$2,a3
  145.     add.l    #$2,a2
  146.     add.w    #$1,d0
  147.     cmp.w    #$180,d0
  148.     blt    looppy
  149.     jsr    scroll
  150.     jsr    newchar
  151.     rts
  152.  
  153. count:    dc.l    0,0
  154. newchar:
  155.     lea    count,a1
  156.     lea    text,a2
  157.     add.l    (a1),a2
  158.     move.b    (a2),d1
  159.     move.b    d1,shortbit
  160.     move.w    shortstore,d1
  161.     sub.w    #$31,d1
  162.     mulu    #$20,d1
  163.     move.w    d1,char
  164.     add.l    #1,count
  165.     cmp.b    #$ff,(a2)
  166.     beq    resettext    
  167.     cmp.b    #$ee,(a2)    
  168.     beq    setpause
  169.     cmp.b    #$d1,(a2)
  170.     beq    scrspeed1
  171.     cmp.b    #$d2,(a2)
  172.     beq    scrspeed2
  173.     cmp.b    #$d3,(a2)
  174.     beq    scrspeed3
  175.     cmp.b    #$d4,(a2)
  176.     beq    scrspeed4
  177.     cmp.b    #$d5,(a2)
  178.     beq    scrspeed5
  179.     cmp.b    #$c0,(a2)
  180.     beq    upon
  181.     cmp.b    #$c1,(a2)
  182.     beq    upoff
  183.     rts
  184.  
  185. upon:    move.b    #$0,stopflag
  186.     move.b    #$f,checkmoveflag
  187.     bra    newchar
  188.     
  189. upoff:    move.b    #$f,stopflag
  190.     move.b    #$f,checkmoveflag
  191.     bra    newchar
  192.  
  193.  
  194.  
  195. scrspeed1:
  196.     move.w    #$0011,scrspeed
  197.     move.b    #$f,checkmoveflag
  198.     bra    newchar
  199.     
  200. scrspeed2:
  201.     move.w    #$0022,scrspeed
  202.     move.b    #$f,checkmoveflag
  203.     bra    newchar
  204.     
  205. scrspeed3:
  206.     move.w    #$0044,scrspeed
  207.     move.b    #$f,checkmoveflag
  208.     bra    newchar
  209.     
  210. scrspeed4:
  211.     move.w    #$0088,scrspeed
  212.     move.b    #$f,checkmoveflag
  213.     bra    newchar
  214.     
  215. scrspeed5:
  216.     move.w    #$01ff,scrspeed
  217.     move.b    #$f,checkmoveflag
  218.     bra    newchar
  219.     
  220.  
  221.  
  222. shortstore:    dc.b    0
  223. shortbit:    dc.b    0,0,0
  224.  
  225. resettext:
  226.     move.l    #0,count
  227.     rts
  228.     
  229. text:    DC.B    $D5,$c1,`          FAST SCROLL`,$5B,$5B,$5B,`   `,$EE
  230.     dc.b    `            SPARK          `,$ee,$c0,$ee,$ee,$c1
  231.     DC.B    `                 OF XXX INTERNATIONAL   `,$EE
  232.     DC.B    $D4,$c1,`       HIMEDIUM SCROLL `,$5B,$5B,$5B,`  `,$EE
  233.     dc.b    `            SPARK          `,$ee,$c0,$ee,$ee,$c1
  234.     DC.B    `                 OF XXX INTERNATIONAL   `,$EE
  235.     dc.b    $d3,$c0,`THIS BIT OF THE SCROLL IS TO SHOW BOB WHAT `
  236.     DC.B    `HE WANTED TO SEE                                   `
  237.     dc.b    $d2,$c0,`THIS BIT OF THE SCROLL IS TO SHOW BOB WHAT `
  238.     DC.B    `HE WANTED TO SEE                                   `
  239.     dc.b    $d1,$c0,`THIS BIT OF THE SCROLL IS TO SHOW BOB WHAT `
  240.     DC.B    `HE WANTED TO SEE                                   `
  241.  
  242.     dc.b    $ff
  243.     DC.B    $D3,$c1,`      LOWMEDIUM SCROLL `,$5B,$5B,$5B,`  `,$EE
  244.     dc.b    `            SPARK          `,$ee,$c0,$ee,$ee,$c1
  245.     DC.B    `                 OF XXX INTERNATIONAL   `,$EE
  246.     DC.B    $D2,$c1,`          SLOW SCROLL `,$5B,$5B,$5B,`  `,$EE
  247.     dc.b    `            SPARK          `,$ee,$c0,$ee,$ee,$c1
  248.     DC.B    `                 OF XXX INTERNATIONAL   `,$EE
  249.     DC.B    $D1,$c1,`         SLOWER SCROLL `,$5B,$5B,$5B,`  `,$EE
  250.     dc.b    `            SPARK          `,$ee,$c0,$ee,$ee,$c1
  251.     DC.B    `                 OF XXX INTERNATIONAL   `,$EE
  252.  
  253.  
  254.     DC.B    $FF
  255.     dc.b    `     greetings go to                   `
  256.     dc.b    `channel fourteen       british bulldogs    sex dwarf`
  257.     dc.b    `         `
  258.     dc.b    `soft killer crew      scanner of crisis internation`
  259.     dc.b    `al       special message to nero of crisis      `
  260.     dc.b    `  why the fuck did you rip off our st scroller you`
  261.     dc.b    ` asshole        and no you `
  262.     dc.b     `cannt fucking keep it        right now back to the`
  263.     dc.b    ` greetings          greetings cont           `
  264.     dc.b    `steve of the mission           red baron        `
  265.     dc.b    `tristar        axxess and dma     the sinners      `
  266.     dc.b    `sca      random access      the movers      the bit`
  267.     dc.b    `stoppers       deltaforce       digitech     hqc    `
  268.     dc.b    `  blizzard         def jam       antitrax      doc  `
  269.     dc.b    `   the champs      alphawave     phr crew     tcc   `
  270.     dc.b    `   vortex      tbr      mcp    the knight hawks     `
  271.     dc.b    `  rob the bop hubbard      the outrunners      phs  `
  272.     dc.b    `   ccs     the computer brains     megaforce        `
  273.     dc.b    `the visitors    fairlight     northern lights       `
  274.     dc.b    `the risky business boys     disaster area     danish`
  275.     dc.b    ` gold     the light circle     bitkillersoft     the`
  276.     dc.b    ` limit crew     skyline     the stupid name team    `
  277.     dc.b    `silver ghosts     the a team     lazer     irata    `
  278.     dc.b    ` alpha flight     the new age     unit a     tcc    `
  279.     dc.b    ` gigaflops    cpu     the commodore guys    the play`
  280.     dc.b    `boys     goffy crackings     tba     ccw team     `
  281.     dc.b    `enterprise     bca     cfr     bfbs     ibb `
  282.     dc.b    `        sorry if i missed anyone                    `
  283.     dc.b    `ok        me thinks that will do for this demo    `
  284.     dc.b    `look out for future xxx international productions`
  285.     dc.b    `         xxx international           we deal with`
  286.     dc.b    ` the best       we dont mess with the rest  `
  287.     dc.b    `        now its time for the rap            `
  288.     dc.b    `yo party people in the place to be        `
  289.     dc.b    `this is what you booted your amiga to see `
  290.     dc.b    `                  bye from spark            `
  291.     dc.b    `for now            `          
  292.     dc.b    $ff,0,0,0,0
  293.     even
  294.  
  295. bp1count:    dc.l    0
  296.  
  297. startpos:    lea    btable,a0
  298.         move.l    a0,bp1count
  299.         rts
  300.  
  301. sine:    lea    gb1,a0
  302.     lea    bp1count,a1
  303.     jsr    updown
  304.     rts
  305.  
  306.  
  307. updown:    move.l    (a1),a2
  308.     cmp.w    #$ffff,(a2)    
  309.     beq    resud
  310.     move.w    (a2),d0
  311.     add.w    d0,gb1
  312.     lea    gb2,a3
  313.     lea    gbu,a4
  314. loopp:    add.w    d0,(a3)
  315.     add.l    #16,a3
  316.     cmp.l    a4,a3
  317.     bls    loopp
  318.     add.l    #2,(a1)
  319.     rts
  320.  
  321. resud:    lea    btable,a2
  322.     move.l    a2,(a1)
  323.     move.w    #$8111,(a0)
  324.     rts
  325.  
  326. btable:    blk.w    50,0
  327.     dc.w    0,0,0,0,256,0,256,0,256,256,256,256,512,256
  328.     dc.w    512,256,512,512
  329.     dc.w    512,512,768,512,768,512,768,512,768,768
  330.     dc.w    768,768    
  331.  
  332.     dc.w    -$300,-$300,-$300,-$300,-$200,-$300,-$200,-$300
  333.     dc.w    -$200,-$300
  334.     dc.w    -$200,-$200,-$200,-$200,-$100,-$200,-$100,-$200
  335.     dc.w    -$100,-$100
  336.     dc.w    -$100,-$100
  337.     dc.w    0,-$100,0,-$100,0,0
  338.     
  339.     
  340.     dc.w    0,0,0,0,256,0,256,0,256,256,256,256,512,256
  341.     dc.w    512,256,512,512
  342.     dc.w    512,512,768,512,768,512,768,512,768,768
  343.     dc.w    768,768    
  344.     
  345.     
  346.     dc.w    -$200,-$300,-$200,-$300
  347.     dc.w    -$200,-$300
  348.     dc.w    -$200,-$200,-$200,-$200,-$100,-$200,-$100,-$200
  349.     dc.w    -$100,-$100
  350.     dc.w    -$100,-$100
  351.     dc.w    0,-$100,0,-$100,0,0
  352.     
  353.     dc.w    0,0,0,0,256,0,256,0,256,256,256,256,512,256
  354.     dc.w    512,256,512,512
  355.     dc.w    512,512,768,512,768,512,768,512
  356.     
  357.     dc.w    -$200,-$300
  358.     dc.w    -$200,-$200,-$200,-$200,-$100,-$200,-$100,-$200
  359.     dc.w    -$100,-$100
  360.     dc.w    -$100,-$100
  361.     dc.w    0,-$100,0,-$100,0,0
  362.     
  363.     dc.w    0,0,0,0,256,0,256,0,256,256,256,256,512,256
  364.     dc.w    512,256,512,512
  365.     dc.w    512,512,768,512
  366.     
  367.     dc.w    -$200,-$200,-$100,-$200,-$100,-$200
  368.     dc.w    -$100,-$100
  369.     dc.w    -$100,-$100
  370.     dc.w    0,-$100,0,-$100,0,0
  371.     
  372.     dc.w    0,0,0,0,256,0,256,0,256,256,256,256,512,256
  373.     dc.w    512,256,512,512
  374.     
  375.     dc.w    -$100,-$200
  376.     dc.w    -$100,-$100
  377.     dc.w    -$100,-$100
  378.     dc.w    0,-$100,0,-$100,0,0
  379.     
  380.     dc.w    0,0,0,0,256,0,256,0,256,256,256,256,512,256
  381.     
  382.     dc.w    -$100,-$100
  383.     dc.w    0,-$100,0,-$100,0,0
  384.     
  385.     dc.w    0,0,0,0,256,0,256,0,256,256
  386.  
  387.     dc.w    0,-$100,0,0
  388.     
  389.     dc.w    0,0,0,0,256,0
  390.     
  391.  
  392.  
  393.     dc.w    -$300,-$300,-$300,-$300,-$200,-$300,-$200,-$300
  394.     dc.w    -$200,-$300
  395.     dc.w    -$200,-$200,-$200,-$200,-$100,-$200,-$100,-$200
  396.     dc.w    -$100,-$100
  397.     dc.w    -$100,-$100
  398.     dc.w    0,-$100,0,-$100,0,0
  399.         
  400. ;;;;;
  401.     dc.w    0,0,0,0,$100,0,$100,0
  402.     dc.w    $100,$100,$100,$100,$200,$100,$200,$100
  403.     dc.w    $200,$200,$200,$200,$300,$200,$300,$200
  404.     dc.w    $200,$300,$200,$300,$200,$200,$200,$200
  405.     dc.w    $100,$200,$100,$200,$100,$100,$100,$100
  406.     dc.w    0,$100,0,$100
  407.  
  408.     dc.w    0,0,0,0,-$100,0,-$100,0
  409.     dc.w    -$100,-$100,-$100,-$100,-$200,-$100,-$200,-$100
  410.     dc.w    -$200,-$200,-$200,-$200,-$300,-$200,-$300,-$200
  411.     dc.w    -$200,-$300,-$200,-$300,-$200,-$200,-$200,-$200
  412.     dc.w    -$100,-$200,-$100,-$200,-$100,-$100,-$100,-$100
  413.     dc.w    0,-$100,0,-$100
  414.  
  415.     dc.w    0,0,0,0,$100,0,$100,0
  416.     dc.w    $100,$100,$100,$100,$200,$100,$200,$100
  417.     dc.w    $200,$200,$200,$200,$300,$200,$300,$200
  418.     dc.w    $200,$300,$200,$300,$200,$200,$200,$200
  419.     dc.w    $100,$200,$100,$200,$100,$100,$100,$100
  420.     dc.w    0,$100,0,$100
  421.  
  422.     dc.w    0,0,0,0,-$100,0,-$100,0
  423.     dc.w    -$100,-$100,-$100,-$100,-$200,-$100,-$200,-$100
  424.     dc.w    -$200,-$200,-$200,-$200,-$300,-$200,-$300,-$200
  425.     dc.w    -$200,-$300,-$200,-$300,-$200,-$200,-$200,-$200
  426.     dc.w    -$100,-$200,-$100,-$200,-$100,-$100,-$100,-$100
  427.     dc.w    0,-$100,0,-$100
  428.  
  429.     
  430.     dc.w    $ffff
  431.  
  432.  
  433. scrmovflag:    dc.l    0,0
  434.  
  435. uppauseflag:    dc.l    0,0,0,0
  436. stopflag:    dc.b    0,0,0,0
  437.  
  438. checkstopflag:
  439.     move.b    stopflag,d0
  440.     cmp.b    #$f,d0
  441.     beq    ender
  442.     bra    renter
  443. ender:    rts
  444.  
  445. scrmove:move.b    scrmovflag,d0
  446.     cmp.b    #$f,d0
  447.     beq    miss
  448.     move.b    #$f,scrmovflag
  449.     move.w    uppauseflag,d0
  450.     cmp.w    #$17,d0
  451.     beq    checkstopflag
  452. renter:    add.w    #1,uppauseflag    
  453.  
  454.     lea    bp1,a3
  455.     cmp.w    #$1500,(a3)
  456.     bgt    rrresud    
  457.     lea    bp2,a4
  458. lloopp:    add.w    #50,(a3)
  459.     add.l    #16,a3
  460.     cmp.l    a4,a3
  461.     bls    lloopp
  462.     rts
  463.  
  464. miss:    move.b    #0,scrmovflag
  465.     rts
  466.  
  467. rrresud:
  468.     lea    bp1,a2
  469.     move.w    #$0c67,d1
  470.     lea    postable,a1
  471. back:    add.w    (a1),d1
  472.     move.w    d1,(a2)
  473.     add.l    #16,a2
  474.     add.l    #2,a1
  475.     cmp.w    #$ffff,(a1)
  476.     bne    back
  477.     move.w    #0,uppauseflag
  478.     rts
  479. postable:    
  480.     dc.w    0,100,100,50,50,50,0,50,0,0,50,0,0,50,0,0
  481.     dc.w    0,0,50,0,0,50,0,0,50,0,50,50,50,100,100,$ffff
  482.  
  483. xxxsetup:
  484.     lea    xbps,a1
  485.     lea    xbpf,a2
  486.     move.w    #$5016,d0
  487. suloop:    move.w    d0,(a1)
  488.     add.w    #$5c,d0
  489.     add.l    #16,a1
  490.     cmp.l    a1,a2
  491.     bgt    suloop
  492.     rts
  493.  
  494. tablepo:    dc.b    0,0
  495. tablepos:    dc.b    0,0,0,0
  496.  
  497. xxxwob:
  498.     lea    xbps,a1
  499.     lea    xscs,a4
  500.     lea    xscf-16,a5
  501. repbit:    move.w    16(a1),d0
  502.     sub.w    #$5c,d0
  503.     move.w    d0,(a1)
  504.     move.w    16(a4),(a4)
  505.     add.l    #16,a4
  506.     add.l    #16,a1
  507.     cmp.l    a4,a5
  508.     bgt    repbit
  509.                 ;newvalue
  510.     move.l    tablepo,d0
  511.     lea    wobtable,a4
  512.     add.l    d0,a4
  513.     lea    xbpf-16,a1
  514.     lea    xscf-16,a3
  515.     
  516. wobloop:bsr    nextwob    
  517.     add.l    #2,d0
  518.     lea    wobtable,a4    
  519.     add.l    d0,a4
  520.     move.l    d0,tablepo
  521.     cmp.w    #$abcd,(a4)
  522.     beq    ressit
  523.     rts
  524.  
  525.  
  526. ressit:
  527.     lea    wobtable,a4
  528.     move.l    #0,tablepo
  529.     
  530. nextwob:
  531.     cmp.w    #$abcd,(a4)
  532.     beq    ressit    
  533.     move.w    (a4),d1
  534.     cmp.w    #$e000,d1
  535.     bhi    suber
  536.  
  537. adder:    move.w    (a3),d2
  538.     add.w    d1,d2
  539.     cmp.w    #$ff,d2
  540.     bhi    addone
  541.     move.w    d2,(a3)
  542.     rts
  543.  
  544. addone:    sub.w    #$10,d2
  545.     move.w    d2,d1s
  546.     move.b    #0,d1s
  547.     move.w    d1s,d2
  548.     move.w    d2,(a3)
  549.     sub.w    #2,(a1)
  550.     rts            
  551.  
  552. suber:    move.w    (a3),d2
  553.     add.w    d1,d2
  554.     cmp.w    #$f000,d2
  555.     bhi    subone
  556.     move.w    d2,(a3)
  557.     rts
  558.  
  559. subone:    add.w    #$10,d2
  560.     move.w    d2,d1s
  561.     move.b    #0,d1s
  562.     move.w    d1s,d2
  563.     move.w    d2,(a3)
  564.     add.w    #2,(a1)
  565.     rts            
  566.     
  567.  
  568. d1s:    dc.b    0
  569. d1store:dc.b    0
  570.  
  571.     
  572. wobtable:    ;note    scr pos first, then bit to add to screen disp
  573.     
  574.  
  575.     blk.w    80,0        
  576.     blk.w    80,0        
  577.     blk.w    80,0        
  578.  
  579.     blk.w    2,$ff
  580.     blk.w    2,$ee
  581.     blk.w    2,$dd
  582.     blk.w    2,$cc
  583.     blk.w    2,$bb
  584.     blk.w    2,$aa
  585.     blk.w    2,$99
  586.     blk.w    2,$88
  587.     blk.w    2,$77
  588.     blk.w    2,$66
  589.     blk.w    2,$55
  590.     blk.w    2,$44
  591.     blk.w    2,$33
  592.     blk.w    2,$22
  593.     blk.w    2,$11
  594.     blk.w    2,$00
  595.  
  596.  
  597.     blk.w    2,-$11
  598.     blk.w    2,-$22
  599.     blk.w    2,-$33
  600.     blk.w    2,-$44
  601.     blk.w    2,-$55
  602.     blk.w    2,-$66
  603.     blk.w    2,-$77
  604.     blk.w    2,-$88
  605.     blk.w    2,-$99
  606.     blk.w    2,-$aa
  607.     blk.w    2,-$bb
  608.     blk.w    2,-$cc
  609.     blk.w    2,-$dd
  610.     blk.w    2,-$ee
  611.     blk.w    2,-$ff
  612.  
  613.  
  614.     
  615.     blk.w    2,-$ff
  616.     blk.w    2,-$ee
  617.     blk.w    2,-$dd
  618.     blk.w    2,-$cc
  619.     blk.w    2,-$bb
  620.     blk.w    2,-$aa
  621.     blk.w    2,-$99
  622.     blk.w    2,-$88
  623.     blk.w    2,-$77
  624.     blk.w    2,-$66
  625.     blk.w    2,-$55
  626.     blk.w    2,-$44
  627.     blk.w    2,-$33
  628.     blk.w    2,-$22
  629.     blk.w    2,-$11
  630.     blk.w    2,-$00
  631.  
  632.     blk.w    2,$11
  633.     blk.w    2,$22
  634.     blk.w    2,$33
  635.     blk.w    2,$44
  636.     blk.w    2,$55
  637.     blk.w    2,$66
  638.     blk.w    2,$77
  639.     blk.w    2,$88
  640.     blk.w    2,$99
  641.     blk.w    2,$aa
  642.     blk.w    2,$bb
  643.     blk.w    2,$cc
  644.     blk.w    2,$dd
  645.     blk.w    2,$ee
  646.     blk.w    2,$ff
  647.  
  648.     blk.w    2,$dd
  649.     blk.w    2,$cc
  650.     blk.w    2,$bb
  651.     blk.w    2,$aa
  652.     blk.w    2,$99
  653.     blk.w    2,$88
  654.     blk.w    2,$77
  655.     blk.w    2,$66
  656.     blk.w    2,$55
  657.     blk.w    2,$44
  658.     blk.w    2,$33
  659.     blk.w    2,$22
  660.     blk.w    2,$11
  661.     blk.w    2,$00
  662.  
  663.  
  664.     blk.w    2,-$11
  665.     blk.w    2,-$22
  666.     blk.w    2,-$33
  667.     blk.w    2,-$44
  668.     blk.w    2,-$55
  669.     blk.w    2,-$66
  670.     blk.w    2,-$77
  671.     blk.w    2,-$88
  672.     blk.w    2,-$99
  673.     blk.w    2,-$aa
  674.     blk.w    2,-$bb
  675.     blk.w    2,-$cc
  676.     blk.w    2,-$dd
  677.     
  678.  
  679.     blk.w    2,-$dd
  680.     blk.w    2,-$cc
  681.     blk.w    2,-$bb
  682.     blk.w    2,-$aa
  683.     blk.w    2,-$99
  684.     blk.w    2,-$88
  685.     blk.w    2,-$77
  686.     blk.w    2,-$66
  687.     blk.w    2,-$55
  688.     blk.w    2,-$44
  689.     blk.w    2,-$33
  690.     blk.w    2,-$22
  691.     blk.w    2,-$11
  692.     blk.w    2,-$00
  693.  
  694.     blk.w    2,$11
  695.     blk.w    2,$22
  696.     blk.w    2,$33
  697.     blk.w    2,$44
  698.     blk.w    2,$55
  699.     blk.w    2,$66
  700.     blk.w    2,$77
  701.     blk.w    2,$88
  702.     blk.w    2,$99
  703.     blk.w    2,$aa
  704.     blk.w    2,$bb
  705.     blk.w    2,$cc
  706.     blk.w    2,$dd
  707.  
  708.     blk.w    2,$aa
  709.     blk.w    2,$99
  710.     blk.w    2,$88
  711.     blk.w    2,$77
  712.     blk.w    2,$66
  713.     blk.w    2,$55
  714.     blk.w    2,$44
  715.     blk.w    2,$33
  716.     blk.w    2,$22
  717.     blk.w    2,$11
  718.     blk.w    2,$00
  719.  
  720.  
  721.     blk.w    2,-$11
  722.     blk.w    2,-$22
  723.     blk.w    2,-$33
  724.     blk.w    2,-$44
  725.     blk.w    2,-$55
  726.     blk.w    2,-$66
  727.     blk.w    2,-$77
  728.     blk.w    2,-$88
  729.     blk.w    2,-$99
  730.     blk.w    2,-$aa
  731.  
  732.     blk.w    2,-$aa
  733.     blk.w    2,-$99
  734.     blk.w    2,-$88
  735.     blk.w    2,-$77
  736.     blk.w    2,-$66
  737.     blk.w    2,-$55
  738.     blk.w    2,-$44
  739.     blk.w    2,-$33
  740.     blk.w    2,-$22
  741.     blk.w    2,-$11
  742.     blk.w    2,-$00
  743.  
  744.     blk.w    2,$11
  745.     blk.w    2,$22
  746.     blk.w    2,$33
  747.     blk.w    2,$44
  748.     blk.w    2,$55
  749.     blk.w    2,$66
  750.     blk.w    2,$77
  751.     blk.w    2,$88
  752.     blk.w    2,$99
  753.     blk.w    2,$aa
  754.  
  755.     blk.w    2,$88
  756.     blk.w    2,$77
  757.     blk.w    2,$66
  758.     blk.w    2,$55
  759.     blk.w    2,$44
  760.     blk.w    2,$33
  761.     blk.w    2,$22
  762.     blk.w    2,$11
  763.     blk.w    2,$00
  764.  
  765.  
  766.     blk.w    2,-$11
  767.     blk.w    2,-$22
  768.     blk.w    2,-$33
  769.     blk.w    2,-$44
  770.     blk.w    2,-$55
  771.     blk.w    2,-$66
  772.     blk.w    2,-$77
  773.     blk.w    2,-$88
  774.     
  775.     blk.w    2,-$88
  776.     blk.w    2,-$77
  777.     blk.w    2,-$66
  778.     blk.w    2,-$55
  779.     blk.w    2,-$44
  780.     blk.w    2,-$33
  781.     blk.w    2,-$22
  782.     blk.w    2,-$11
  783.     blk.w    2,-$00
  784.  
  785.     blk.w    2,$11
  786.     blk.w    2,$22
  787.     blk.w    2,$33
  788.     blk.w    2,$44
  789.     blk.w    2,$55
  790.     blk.w    2,$66
  791.     blk.w    2,$77
  792.     blk.w    2,$88
  793.  
  794.     blk.w    2,$44
  795.     blk.w    2,$33
  796.     blk.w    2,$22
  797.     blk.w    2,$11
  798.     blk.w    2,$00
  799.     blk.w    2,-$11
  800.     blk.w    2,-$22
  801.     blk.w    2,-$33
  802.     blk.w    2,-$44
  803.  
  804.     blk.w    2,-$44
  805.     blk.w    2,-$33
  806.     blk.w    2,-$22
  807.     blk.w    2,-$11
  808.     blk.w    2,-$00
  809.     blk.w    2,$11
  810.     blk.w    2,$22
  811.     blk.w    2,$33
  812.     blk.w    2,$44
  813.     blk.w    2,$44
  814.     blk.w    2,$33
  815.     blk.w    2,$22
  816.     blk.w    2,$11
  817.     blk.w    2,$00
  818.     blk.w    2,-$11
  819.     blk.w    2,-$22
  820.     blk.w    2,-$33
  821.     blk.w    2,-$44
  822.  
  823.     blk.w    2,-$44
  824.     blk.w    2,-$33
  825.     blk.w    2,-$22
  826.     blk.w    2,-$11
  827.     blk.w    2,-$00
  828.     blk.w    2,$11
  829.     blk.w    2,$22
  830.     blk.w    2,$33
  831.     blk.w    2,$44
  832.     blk.w    2,$44
  833.     blk.w    2,$33
  834.     blk.w    2,$22
  835.     blk.w    2,$11
  836.     blk.w    2,$00
  837.     blk.w    2,-$11
  838.     blk.w    2,-$22
  839.     blk.w    2,-$33
  840.     blk.w    2,-$44
  841.  
  842.     blk.w    2,-$44
  843.     blk.w    2,-$33
  844.     blk.w    2,-$22
  845.     blk.w    2,-$11
  846.     blk.w    2,-$00
  847.     blk.w    2,$11
  848.     blk.w    2,$22
  849.     blk.w    2,$33
  850.     blk.w    2,$44
  851.  
  852.     blk.w    2,$22
  853.     blk.w    2,$11
  854.     blk.w    2,$00
  855.     blk.w    2,-$11
  856.     blk.w    2,-$22
  857.  
  858.     blk.w    2,-$22
  859.     blk.w    2,-$11
  860.     blk.w    2,-$00
  861.     blk.w    2,$11
  862.     blk.w    2,$22
  863.  
  864.  
  865.     blk.w    2,$22
  866.     blk.w    2,$11
  867.     blk.w    2,$00
  868.     blk.w    2,-$11
  869.     blk.w    2,-$22
  870.  
  871.     blk.w    2,-$22
  872.     blk.w    2,-$11
  873.     blk.w    2,-$00
  874.     blk.w    2,$11
  875.     blk.w    2,$22
  876.  
  877.  
  878.     blk.w    2,$22
  879.     blk.w    2,$11
  880.     blk.w    2,$00
  881.     blk.w    2,-$11
  882.     blk.w    2,-$22
  883.  
  884.     blk.w    2,-$22
  885.     blk.w    2,-$11
  886.     blk.w    2,-$00
  887.     blk.w    2,$11
  888.     blk.w    2,$22
  889.  
  890.  
  891.     blk.w    2,$22
  892.     blk.w    2,$11
  893.     blk.w    2,$00
  894.     blk.w    2,-$11
  895.     blk.w    2,-$22
  896.  
  897.     blk.w    2,-$22
  898.     blk.w    2,-$11
  899.     blk.w    2,-$00
  900.     blk.w    2,$11
  901.     blk.w    2,$22
  902.  
  903.  
  904.     blk.w    2,$22
  905.     blk.w    2,$11
  906.     blk.w    2,$00
  907.     blk.w    2,-$11
  908.     blk.w    2,-$22
  909.  
  910.     blk.w    2,-$22
  911.     blk.w    2,-$11
  912.     blk.w    2,-$00
  913.     blk.w    2,$11
  914.     blk.w    2,$22
  915.  
  916.  
  917.     blk.w    2,$22
  918.     blk.w    2,$11
  919.     blk.w    2,$00
  920.     blk.w    2,-$11
  921.     blk.w    2,-$22
  922.  
  923.     blk.w    2,-$22
  924.     blk.w    2,-$11
  925.     blk.w    2,-$00
  926.     blk.w    2,$11
  927.     blk.w    2,$22
  928.  
  929.     blk.w    80,0        
  930.  
  931.     blk.w    5,$aa
  932.     blk.w    5,$99
  933.     blk.w    5,$88
  934.     blk.w    5,$77
  935.     blk.w    5,$66
  936.     blk.w    5,$55
  937.     blk.w    5,$44
  938.     blk.w    5,$33
  939.     blk.w    5,$22
  940.     blk.w    5,$11
  941.     blk.w    5,$00
  942.  
  943.  
  944.     blk.w    5,-$11
  945.     blk.w    5,-$22
  946.     blk.w    5,-$33
  947.     blk.w    5,-$44
  948.     blk.w    5,-$55
  949.     blk.w    5,-$66
  950.     blk.w    5,-$77
  951.     blk.w    5,-$88
  952.     blk.w    5,-$99
  953.     blk.w    5,-$aa
  954.     
  955.  
  956.     blk.w    5,-$aa
  957.     blk.w    5,-$99
  958.     blk.w    5,-$88
  959.     blk.w    5,-$77
  960.     blk.w    5,-$66
  961.     blk.w    5,-$55
  962.     blk.w    5,-$44
  963.     blk.w    5,-$33
  964.     blk.w    5,-$22
  965.     blk.w    5,-$11
  966.     blk.w    5,-$00
  967.  
  968.     blk.w    5,$11
  969.     blk.w    5,$22
  970.     blk.w    5,$33
  971.     blk.w    5,$44
  972.     blk.w    5,$55
  973.     blk.w    5,$66
  974.     blk.w    5,$77
  975.     blk.w    5,$88
  976.     blk.w    5,$99
  977.     blk.w    5,$aa
  978.  
  979.  
  980.     blk.w    5,$aa
  981.     blk.w    5,$99
  982.     blk.w    5,$88
  983.     blk.w    5,$77
  984.     blk.w    5,$66
  985.     blk.w    5,$55
  986.     blk.w    5,$44
  987.     blk.w    5,$33
  988.     blk.w    5,$22
  989.     blk.w    5,$11
  990.     blk.w    5,$00
  991.  
  992.  
  993.     blk.w    5,-$11
  994.     blk.w    5,-$22
  995.     blk.w    5,-$33
  996.     blk.w    5,-$44
  997.     blk.w    5,-$55
  998.     blk.w    5,-$66
  999.     blk.w    5,-$77
  1000.     blk.w    5,-$88
  1001.     blk.w    5,-$99
  1002.     blk.w    5,-$aa
  1003.     
  1004.  
  1005.     blk.w    5,-$aa
  1006.     blk.w    5,-$99
  1007.     blk.w    5,-$88
  1008.     blk.w    5,-$77
  1009.     blk.w    5,-$66
  1010.     blk.w    5,-$55
  1011.     blk.w    5,-$44
  1012.     blk.w    5,-$33
  1013.     blk.w    5,-$22
  1014.     blk.w    5,-$11
  1015.     blk.w    5,-$00
  1016.  
  1017.     blk.w    5,$11
  1018.     blk.w    5,$22
  1019.     blk.w    5,$33
  1020.     blk.w    5,$44
  1021.     blk.w    5,$55
  1022.     blk.w    5,$66
  1023.     blk.w    5,$77
  1024.     blk.w    5,$88
  1025.     blk.w    5,$99
  1026.     blk.w    5,$aa
  1027.  
  1028.  
  1029.     blk.w    5,$aa
  1030.     blk.w    5,$99
  1031.     blk.w    5,$88
  1032.     blk.w    5,$77
  1033.     blk.w    5,$66
  1034.     blk.w    5,$55
  1035.     blk.w    5,$44
  1036.     blk.w    5,$33
  1037.     blk.w    5,$22
  1038.     blk.w    5,$11
  1039.     blk.w    5,$00
  1040.  
  1041.  
  1042.     blk.w    5,-$11
  1043.     blk.w    5,-$22
  1044.     blk.w    5,-$33
  1045.     blk.w    5,-$44
  1046.     blk.w    5,-$55
  1047.     blk.w    5,-$66
  1048.     blk.w    5,-$77
  1049.     blk.w    5,-$88
  1050.     blk.w    5,-$99
  1051.     blk.w    5,-$aa
  1052.     
  1053.  
  1054.     blk.w    5,-$aa
  1055.     blk.w    5,-$99
  1056.     blk.w    5,-$88
  1057.     blk.w    5,-$77
  1058.     blk.w    5,-$66
  1059.     blk.w    5,-$55
  1060.     blk.w    5,-$44
  1061.     blk.w    5,-$33
  1062.     blk.w    5,-$22
  1063.     blk.w    5,-$11
  1064.     blk.w    5,-$00
  1065.  
  1066.     blk.w    5,$11
  1067.     blk.w    5,$22
  1068.     blk.w    5,$33
  1069.     blk.w    5,$44
  1070.     blk.w    5,$55
  1071.     blk.w    5,$66
  1072.     blk.w    5,$77
  1073.     blk.w    5,$88
  1074.     blk.w    5,$99
  1075.     blk.w    5,$aa
  1076.  
  1077.     blk.w    80,0
  1078.  
  1079.     dc.w    $11,-$11,$22,-$22,$33,-$33,$44,-$44
  1080.     dc.w    $55,-$55,$66,-$66,$77,-$77,$88,-$88
  1081.     dc.w    $99,-$99,$aa,-$aa,$bb,-$bb,$cc,-$cc
  1082.     dc.w    $dd,-$dd,$ee,-$ee,$ff,-$ff
  1083.     
  1084.     dc.w    $ff,-$ff,$ee,-$ee,$dd,-$dd
  1085.     dc.w    $cc,-$cc,$bb,-$bb,$aa,-$aa,$99,-$99
  1086.     dc.w    $88,-$88,$77,-$77,$66,-$66,$55,-$55
  1087.     dc.w    $44,-$44,$33,-$33,$22,-$22,$11,-$11
  1088.     dc.w    0,0    
  1089.     dc.w    -$11,$11,-$22,$22,-$33,$33,-$44,$44
  1090.     dc.w    -$55,$55,-$66,$66,-$77,$77,-$88,$88
  1091.     dc.w    -$99,$99,-$aa,$aa,-$bb,$bb,-$cc,$cc
  1092.     dc.w    -$dd,$dd,-$ee,$ee,-$ff,$ff
  1093.     
  1094.     dc.w    -$ff,$ff,-$ee,$ee,-$dd,$dd
  1095.     dc.w    -$cc,$cc,-$bb,$bb,-$aa,$aa,-$99,$99
  1096.     dc.w    -$88,$88,-$77,$77,-$66,$66,-$55,$55
  1097.     dc.w    -$44,$44,-$33,$33,-$22,$22,-$11,$11
  1098.     dc.w    0,0    
  1099.  
  1100.     dc.w    $11,-$11,$22,-$22,$33,-$33,$44,-$44
  1101.     dc.w    $55,-$55,$66,-$66,$77,-$77,$88,-$88
  1102.     dc.w    $99,-$99,$aa,-$aa,$bb,-$bb,$cc,-$cc
  1103.     dc.w    $dd,-$dd,$ee,-$ee,$ff,-$ff
  1104.     
  1105.     dc.w    $ff,-$ff,$ee,-$ee,$dd,-$dd
  1106.     dc.w    $cc,-$cc,$bb,-$bb,$aa,-$aa,$99,-$99
  1107.     dc.w    $88,-$88,$77,-$77,$66,-$66,$55,-$55
  1108.     dc.w    $44,-$44,$33,-$33,$22,-$22,$11,-$11
  1109.     dc.w    0,0    
  1110.     dc.w    -$11,$11,-$22,$22,-$33,$33,-$44,$44
  1111.     dc.w    -$55,$55,-$66,$66,-$77,$77,-$88,$88
  1112.     dc.w    -$99,$99,-$aa,$aa,-$bb,$bb,-$cc,$cc
  1113.     dc.w    -$dd,$dd,-$ee,$ee,-$ff,$ff
  1114.     
  1115.     dc.w    -$ff,$ff,-$ee,$ee,-$dd,$dd
  1116.     dc.w    -$cc,$cc,-$bb,$bb,-$aa,$aa,-$99,$99
  1117.     dc.w    -$88,$88,-$77,$77,-$66,$66,-$55,$55
  1118.     dc.w    -$44,$44,-$33,$33,-$22,$22,-$11,$11
  1119.     dc.w    0,0    
  1120.  
  1121.     dc.w    $11,-$11,$22,-$22,$33,-$33,$44,-$44
  1122.     dc.w    $55,-$55,$66,-$66,$77,-$77,$88,-$88
  1123.     dc.w    $99,-$99,$aa,-$aa,$bb,-$bb,$cc,-$cc
  1124.     dc.w    $dd,-$dd,$ee,-$ee,$ff,-$ff
  1125.     
  1126.     dc.w    $ff,-$ff,$ee,-$ee,$dd,-$dd
  1127.     dc.w    $cc,-$cc,$bb,-$bb,$aa,-$aa,$99,-$99
  1128.     dc.w    $88,-$88,$77,-$77,$66,-$66,$55,-$55
  1129.     dc.w    $44,-$44,$33,-$33,$22,-$22,$11,-$11
  1130.     dc.w    0,0    
  1131.     dc.w    -$11,$11,-$22,$22,-$33,$33,-$44,$44
  1132.     dc.w    -$55,$55,-$66,$66,-$77,$77,-$88,$88
  1133.     dc.w    -$99,$99,-$aa,$aa,-$bb,$bb,-$cc,$cc
  1134.     dc.w    -$dd,$dd,-$ee,$ee,-$ff,$ff
  1135.     
  1136.     dc.w    -$ff,$ff,-$ee,$ee,-$dd,$dd
  1137.     dc.w    -$cc,$cc,-$bb,$bb,-$aa,$aa,-$99,$99
  1138.     dc.w    -$88,$88,-$77,$77,-$66,$66,-$55,$55
  1139.     dc.w    -$44,$44,-$33,$33,-$22,$22,-$11,$11
  1140.     dc.w    0,0    
  1141.  
  1142.     dc.w    $11,-$11,$22,-$22,$33,-$33,$44,-$44
  1143.     dc.w    $55,-$55,$66,-$66,$77,-$77,$88,-$88
  1144.     dc.w    $99,-$99,$aa,-$aa,$bb,-$bb,$cc,-$cc
  1145.     dc.w    $dd,-$dd,$ee,-$ee,$ff,-$ff
  1146.     
  1147.     dc.w    $ff,-$ff,$ee,-$ee,$dd,-$dd
  1148.     dc.w    $cc,-$cc,$bb,-$bb,$aa,-$aa,$99,-$99
  1149.     dc.w    $88,-$88,$77,-$77,$66,-$66,$55,-$55
  1150.     dc.w    $44,-$44,$33,-$33,$22,-$22,$11,-$11
  1151.     dc.w    0,0    
  1152.     dc.w    -$11,$11,-$22,$22,-$33,$33,-$44,$44
  1153.     dc.w    -$55,$55,-$66,$66,-$77,$77,-$88,$88
  1154.     dc.w    -$99,$99,-$aa,$aa,-$bb,$bb,-$cc,$cc
  1155.     dc.w    -$dd,$dd,-$ee,$ee,-$ff,$ff
  1156.     
  1157.     dc.w    -$ff,$ff,-$ee,$ee,-$dd,$dd
  1158.     dc.w    -$cc,$cc,-$bb,$bb,-$aa,$aa,-$99,$99
  1159.     dc.w    -$88,$88,-$77,$77,-$66,$66,-$55,$55
  1160.     dc.w    -$44,$44,-$33,$33,-$22,$22,-$11,$11
  1161.     dc.w    0,0    
  1162.  
  1163.     blk.w    80,0
  1164.  
  1165.     dc.w    $88,$99,$aa,$bb,$cc,$bb,$aa,$99,$88
  1166.     dc.w    $77,$88,$99,$aa,$bb,$aa,$99,$88,$77
  1167.     dc.w    $66,$77,$88,$99,$aa,$99,$88,$77,$66
  1168.     dc.w    $55,$66,$77,$88,$99,$88,$77,$66,$55
  1169.     dc.w    $44,$55,$66,$77,$88,$77,$66,$55,$44
  1170.     dc.w    $33,$44,$55,$66,$77,$66,$55,$44,$33
  1171.     dc.w    $22,$33,$44,$55,$66,$55,$44,$33,$22
  1172.     dc.w    $11,$22,$33,$44,$55,$44,$33,$22,$11
  1173.     dc.w    $00,$11,$22,$33,$44,$33,$22,$11,$00
  1174.  
  1175.     dc.w    -$00,-$11,-$22,-$33,-$44,-$33,-$22,-$11,-$00
  1176.     dc.w    -$11,-$22,-$33,-$44,-$55,-$44,-$33,-$22,-$11
  1177.     dc.w    -$22,-$33,-$44,-$55,-$66,-$55,-$44,-$33,-$22
  1178.     dc.w    -$33,-$44,-$55,-$66,-$77,-$66,-$55,-$44,-$33
  1179.     dc.w    -$44,-$55,-$66,-$77,-$88,-$77,-$66,-$55,-$44
  1180.     dc.w    -$55,-$66,-$77,-$88,-$99,-$88,-$77,-$66,-$55
  1181.     dc.w    -$66,-$77,-$88,-$99,-$aa,-$99,-$88,-$77,-$66
  1182.     dc.w    -$77,-$88,-$99,-$aa,-$bb,-$aa,-$99,-$88,-$77
  1183.     dc.w    -$88,-$99,-$aa,-$bb,-$cc,-$bb,-$aa,-$99,-$88
  1184.  
  1185.     dc.w    -$88,-$99,-$aa,-$bb,-$cc,-$bb,-$aa,-$99,-$88
  1186.     dc.w    -$77,-$88,-$99,-$aa,-$bb,-$aa,-$99,-$88,-$77
  1187.     dc.w    -$66,-$77,-$88,-$99,-$aa,-$99,-$88,-$77,-$66
  1188.     dc.w    -$55,-$66,-$77,-$88,-$99,-$88,-$77,-$66,-$55
  1189.     dc.w    -$44,-$55,-$66,-$77,-$88,-$77,-$66,-$55,-$44
  1190.     dc.w    -$33,-$44,-$55,-$66,-$77,-$66,-$55,-$44,-$33
  1191.     dc.w    -$22,-$33,-$44,-$55,-$66,-$55,-$44,-$33,-$22
  1192.     dc.w    -$11,-$22,-$33,-$44,-$55,-$44,-$33,-$22,-$11
  1193.     dc.w    -$00,-$11,-$22,-$33,-$44,-$33,-$22,-$11,-$00
  1194.  
  1195.     dc.w    $00,$11,$22,$33,$44,$33,$22,$11,$00
  1196.     dc.w    $11,$22,$33,$44,$55,$44,$33,$22,$11
  1197.     dc.w    $22,$33,$44,$55,$66,$55,$44,$33,$22
  1198.     dc.w    $33,$44,$55,$66,$77,$66,$55,$44,$33
  1199.     dc.w    $44,$55,$66,$77,$88,$77,$66,$55,$44
  1200.     dc.w    $55,$66,$77,$88,$99,$88,$77,$66,$55
  1201.     dc.w    $66,$77,$88,$99,$aa,$99,$88,$77,$66
  1202.     dc.w    $77,$88,$99,$aa,$bb,$aa,$99,$88,$77
  1203.     dc.w    $88,$99,$aa,$bb,$cc,$bb,$aa,$99,$88
  1204.  
  1205.     dc.w    $88,$99,$aa,$bb,$cc,$bb,$aa,$99,$88
  1206.     dc.w    $77,$88,$99,$aa,$bb,$aa,$99,$88,$77
  1207.     dc.w    $66,$77,$88,$99,$aa,$99,$88,$77,$66
  1208.     dc.w    $55,$66,$77,$88,$99,$88,$77,$66,$55
  1209.     dc.w    $44,$55,$66,$77,$88,$77,$66,$55,$44
  1210.     dc.w    $33,$44,$55,$66,$77,$66,$55,$44,$33
  1211.     dc.w    $22,$33,$44,$55,$66,$55,$44,$33,$22
  1212.     dc.w    $11,$22,$33,$44,$55,$44,$33,$22,$11
  1213.     dc.w    $00,$11,$22,$33,$44,$33,$22,$11,$00
  1214.  
  1215.     dc.w    -$00,-$11,-$22,-$33,-$44,-$33,-$22,-$11,-$00
  1216.     dc.w    -$11,-$22,-$33,-$44,-$55,-$44,-$33,-$22,-$11
  1217.     dc.w    -$22,-$33,-$44,-$55,-$66,-$55,-$44,-$33,-$22
  1218.     dc.w    -$33,-$44,-$55,-$66,-$77,-$66,-$55,-$44,-$33
  1219.     dc.w    -$44,-$55,-$66,-$77,-$88,-$77,-$66,-$55,-$44
  1220.     dc.w    -$55,-$66,-$77,-$88,-$99,-$88,-$77,-$66,-$55
  1221.     dc.w    -$66,-$77,-$88,-$99,-$aa,-$99,-$88,-$77,-$66
  1222.     dc.w    -$77,-$88,-$99,-$aa,-$bb,-$aa,-$99,-$88,-$77
  1223.     dc.w    -$88,-$99,-$aa,-$bb,-$cc,-$bb,-$aa,-$99,-$88
  1224.  
  1225.     dc.w    -$88,-$99,-$aa,-$bb,-$cc,-$bb,-$aa,-$99,-$88
  1226.     dc.w    -$77,-$88,-$99,-$aa,-$bb,-$aa,-$99,-$88,-$77
  1227.     dc.w    -$66,-$77,-$88,-$99,-$aa,-$99,-$88,-$77,-$66
  1228.     dc.w    -$55,-$66,-$77,-$88,-$99,-$88,-$77,-$66,-$55
  1229.     dc.w    -$44,-$55,-$66,-$77,-$88,-$77,-$66,-$55,-$44
  1230.     dc.w    -$33,-$44,-$55,-$66,-$77,-$66,-$55,-$44,-$33
  1231.     dc.w    -$22,-$33,-$44,-$55,-$66,-$55,-$44,-$33,-$22
  1232.     dc.w    -$11,-$22,-$33,-$44,-$55,-$44,-$33,-$22,-$11
  1233.     dc.w    -$00,-$11,-$22,-$33,-$44,-$33,-$22,-$11,-$00
  1234.  
  1235.     dc.w    $00,$11,$22,$33,$44,$33,$22,$11,$00
  1236.     dc.w    $11,$22,$33,$44,$55,$44,$33,$22,$11
  1237.     dc.w    $22,$33,$44,$55,$66,$55,$44,$33,$22
  1238.     dc.w    $33,$44,$55,$66,$77,$66,$55,$44,$33
  1239.     dc.w    $44,$55,$66,$77,$88,$77,$66,$55,$44
  1240.     dc.w    $55,$66,$77,$88,$99,$88,$77,$66,$55
  1241.     dc.w    $66,$77,$88,$99,$aa,$99,$88,$77,$66
  1242.     dc.w    $77,$88,$99,$aa,$bb,$aa,$99,$88,$77
  1243.     dc.w    $88,$99,$aa,$bb,$cc,$bb,$aa,$99,$88
  1244.  
  1245.     blk.w    80,0
  1246.  
  1247.     blk.w    5,$aa
  1248.     blk.w    5,$99
  1249.     blk.w    5,$88
  1250.     blk.w    5,$77
  1251.     blk.w    5,$66
  1252.     blk.w    40,0
  1253.     blk.w    5,$55
  1254.     blk.w    5,$44
  1255.     blk.w    5,$33
  1256.     blk.w    5,$22
  1257.     blk.w    5,$11
  1258.     blk.w    5,$00
  1259.  
  1260.  
  1261.     blk.w    5,-$11
  1262.     blk.w    5,-$22
  1263.     blk.w    5,-$33
  1264.     blk.w    5,-$44
  1265.     blk.w    5,-$55
  1266.     blk.w    40,0
  1267.     blk.w    5,-$66
  1268.     blk.w    5,-$77
  1269.     blk.w    5,-$88
  1270.     blk.w    5,-$99
  1271.     blk.w    5,-$aa
  1272.     
  1273.  
  1274.     blk.w    5,-$aa
  1275.     blk.w    5,-$99
  1276.     blk.w    5,-$88
  1277.     blk.w    5,-$77
  1278.     blk.w    5,-$66
  1279.     blk.w    40,0
  1280.     blk.w    5,-$55
  1281.     blk.w    5,-$44
  1282.     blk.w    5,-$33
  1283.     blk.w    5,-$22
  1284.     blk.w    5,-$11
  1285.     blk.w    5,-$00
  1286.  
  1287.     blk.w    5,$11
  1288.     blk.w    5,$22
  1289.     blk.w    5,$33
  1290.     blk.w    5,$44
  1291.     blk.w    5,$55
  1292.     blk.w    40,0
  1293.     blk.w    5,$66
  1294.     blk.w    5,$77
  1295.     blk.w    5,$88
  1296.     blk.w    5,$99
  1297.     blk.w    5,$aa
  1298.  
  1299.     blk.w    80,0
  1300.  
  1301.     blk.w    1,-$aa
  1302.     blk.w    1,-$99
  1303.     blk.w    1,-$88
  1304.     blk.w    1,-$77
  1305.     blk.w    1,-$66
  1306.     blk.w    1,-$55
  1307.     blk.w    1,-$44
  1308.     blk.w    1,-$33
  1309.     blk.w    1,-$22
  1310.     blk.w    1,-$11
  1311.     blk.w    1,-$00
  1312.  
  1313.     blk.w    1,$11
  1314.     blk.w    1,$22
  1315.     blk.w    1,$33
  1316.     blk.w    1,$44
  1317.     blk.w    1,$55
  1318.     blk.w    1,$66
  1319.     blk.w    1,$77
  1320.     blk.w    1,$88
  1321.     blk.w    1,$99
  1322.     blk.w    1,$aa
  1323.  
  1324.     blk.w    1,-$aa
  1325.     blk.w    1,-$99
  1326.     blk.w    1,-$88
  1327.     blk.w    1,-$77
  1328.     blk.w    1,-$66
  1329.     blk.w    1,-$55
  1330.     blk.w    1,-$44
  1331.     blk.w    1,-$33
  1332.     blk.w    1,-$22
  1333.     blk.w    1,-$11
  1334.     blk.w    1,-$00
  1335.  
  1336.     blk.w    1,$11
  1337.     blk.w    1,$22
  1338.     blk.w    1,$33
  1339.     blk.w    1,$44
  1340.     blk.w    1,$55
  1341.     blk.w    1,$66
  1342.     blk.w    1,$77
  1343.     blk.w    1,$88
  1344.     blk.w    1,$99
  1345.     blk.w    1,$aa
  1346.  
  1347.     blk.w    1,-$aa
  1348.     blk.w    1,-$99
  1349.     blk.w    1,-$88
  1350.     blk.w    1,-$77
  1351.     blk.w    1,-$66
  1352.     blk.w    1,-$55
  1353.     blk.w    1,-$44
  1354.     blk.w    1,-$33
  1355.     blk.w    1,-$22
  1356.     blk.w    1,-$11
  1357.     blk.w    1,-$00
  1358.  
  1359.     blk.w    1,$11
  1360.     blk.w    1,$22
  1361.     blk.w    1,$33
  1362.     blk.w    1,$44
  1363.     blk.w    1,$55
  1364.     blk.w    1,$66
  1365.     blk.w    1,$77
  1366.     blk.w    1,$88
  1367.     blk.w    1,$99
  1368.     blk.w    1,$aa
  1369.  
  1370.     blk.w    2,-$aa
  1371.     blk.w    2,-$99
  1372.     blk.w    2,-$88
  1373.     blk.w    2,-$77
  1374.     blk.w    2,-$66
  1375.     blk.w    2,-$55
  1376.     blk.w    2,-$44
  1377.     blk.w    2,-$33
  1378.     blk.w    2,-$22
  1379.     blk.w    2,-$11
  1380.     blk.w    2,-$00
  1381.  
  1382.     blk.w    2,$11
  1383.     blk.w    2,$22
  1384.     blk.w    2,$33
  1385.     blk.w    2,$44
  1386.     blk.w    2,$55
  1387.     blk.w    2,$66
  1388.     blk.w    2,$77
  1389.     blk.w    2,$88
  1390.     blk.w    2,$99
  1391.     blk.w    2,$aa
  1392.  
  1393.     blk.w    2,-$aa
  1394.     blk.w    2,-$99
  1395.     blk.w    2,-$88
  1396.     blk.w    2,-$77
  1397.     blk.w    2,-$66
  1398.     blk.w    2,-$55
  1399.     blk.w    2,-$44
  1400.     blk.w    2,-$33
  1401.     blk.w    2,-$22
  1402.     blk.w    2,-$11
  1403.     blk.w    2,-$00
  1404.  
  1405.     blk.w    2,$11
  1406.     blk.w    2,$22
  1407.     blk.w    2,$33
  1408.     blk.w    2,$44
  1409.     blk.w    2,$55
  1410.     blk.w    2,$66
  1411.     blk.w    2,$77
  1412.     blk.w    2,$88
  1413.     blk.w    2,$99
  1414.     blk.w    2,$aa
  1415.  
  1416.     blk.w    2,-$aa
  1417.     blk.w    2,-$99
  1418.     blk.w    2,-$88
  1419.     blk.w    2,-$77
  1420.     blk.w    2,-$66
  1421.     blk.w    2,-$55
  1422.     blk.w    2,-$44
  1423.     blk.w    2,-$33
  1424.     blk.w    2,-$22
  1425.     blk.w    2,-$11
  1426.     blk.w    2,-$00
  1427.  
  1428.     blk.w    2,$11
  1429.     blk.w    2,$22
  1430.     blk.w    2,$33
  1431.     blk.w    2,$44
  1432.     blk.w    2,$55
  1433.     blk.w    2,$66
  1434.     blk.w    2,$77
  1435.     blk.w    2,$88
  1436.     blk.w    2,$99
  1437.     blk.w    2,$aa
  1438.     
  1439.     blk.w    3,-$aa
  1440.     blk.w    3,-$99
  1441.     blk.w    3,-$88
  1442.     blk.w    3,-$77
  1443.     blk.w    3,-$66
  1444.     blk.w    3,-$55
  1445.     blk.w    3,-$44
  1446.     blk.w    3,-$33
  1447.     blk.w    3,-$22
  1448.     blk.w    3,-$11
  1449.     blk.w    3,-$00
  1450.  
  1451.     blk.w    3,$11
  1452.     blk.w    3,$22
  1453.     blk.w    3,$33
  1454.     blk.w    3,$44
  1455.     blk.w    3,$55
  1456.     blk.w    3,$66
  1457.     blk.w    3,$77
  1458.     blk.w    3,$88
  1459.     blk.w    3,$99
  1460.     blk.w    3,$aa
  1461.     blk.w    3,-$aa
  1462.     blk.w    3,-$99
  1463.     blk.w    3,-$88
  1464.     blk.w    3,-$77
  1465.     blk.w    3,-$66
  1466.     blk.w    3,-$55
  1467.     blk.w    3,-$44
  1468.     blk.w    3,-$33
  1469.     blk.w    3,-$22
  1470.     blk.w    3,-$11
  1471.     blk.w    3,-$00
  1472.  
  1473.     blk.w    3,$11
  1474.     blk.w    3,$22
  1475.     blk.w    3,$33
  1476.     blk.w    3,$44
  1477.     blk.w    3,$55
  1478.     blk.w    3,$66
  1479.     blk.w    3,$77
  1480.     blk.w    3,$88
  1481.     blk.w    3,$99
  1482.     blk.w    3,$aa
  1483.     blk.w    3,-$aa
  1484.     blk.w    3,-$99
  1485.     blk.w    3,-$88
  1486.     blk.w    3,-$77
  1487.     blk.w    3,-$66
  1488.     blk.w    3,-$55
  1489.     blk.w    3,-$44
  1490.     blk.w    3,-$33
  1491.     blk.w    3,-$22
  1492.     blk.w    3,-$11
  1493.     blk.w    3,-$00
  1494.  
  1495.     blk.w    3,$11
  1496.     blk.w    3,$22
  1497.     blk.w    3,$33
  1498.     blk.w    3,$44
  1499.     blk.w    3,$55
  1500.     blk.w    3,$66
  1501.     blk.w    3,$77
  1502.     blk.w    3,$88
  1503.     blk.w    3,$99
  1504.     blk.w    3,$aa
  1505.     
  1506.     blk.w    4,-$aa
  1507.     blk.w    4,-$99
  1508.     blk.w    4,-$88
  1509.     blk.w    4,-$77
  1510.     blk.w    4,-$66
  1511.     blk.w    4,-$55
  1512.     blk.w    4,-$44
  1513.     blk.w    4,-$33
  1514.     blk.w    4,-$22
  1515.     blk.w    4,-$11
  1516.     blk.w    4,-$00
  1517.  
  1518.     blk.w    4,$11
  1519.     blk.w    4,$22
  1520.     blk.w    4,$33
  1521.     blk.w    4,$44
  1522.     blk.w    4,$55
  1523.     blk.w    4,$66
  1524.     blk.w    4,$77
  1525.     blk.w    4,$88
  1526.     blk.w    4,$99
  1527.     blk.w    4,$aa
  1528.     
  1529.     blk.w    4,-$aa
  1530.     blk.w    4,-$99
  1531.     blk.w    4,-$88
  1532.     blk.w    4,-$77
  1533.     blk.w    4,-$66
  1534.     blk.w    4,-$55
  1535.     blk.w    4,-$44
  1536.     blk.w    4,-$33
  1537.     blk.w    4,-$22
  1538.     blk.w    4,-$11
  1539.     blk.w    4,-$00
  1540.  
  1541.     blk.w    4,$11
  1542.     blk.w    4,$22
  1543.     blk.w    4,$33
  1544.     blk.w    4,$44
  1545.     blk.w    4,$55
  1546.     blk.w    4,$66
  1547.     blk.w    4,$77
  1548.     blk.w    4,$88
  1549.     blk.w    4,$99
  1550.     blk.w    4,$aa
  1551.     
  1552.     blk.w    4,-$aa
  1553.     blk.w    4,-$99
  1554.     blk.w    4,-$88
  1555.     blk.w    4,-$77
  1556.     blk.w    4,-$66
  1557.     blk.w    4,-$55
  1558.     blk.w    4,-$44
  1559.     blk.w    4,-$33
  1560.     blk.w    4,-$22
  1561.     blk.w    4,-$11
  1562.     blk.w    4,-$00
  1563.  
  1564.     blk.w    4,$11
  1565.     blk.w    4,$22
  1566.     blk.w    4,$33
  1567.     blk.w    4,$44
  1568.     blk.w    4,$55
  1569.     blk.w    4,$66
  1570.     blk.w    4,$77
  1571.     blk.w    4,$88
  1572.     blk.w    4,$99
  1573.     blk.w    4,$aa
  1574.  
  1575.     blk.w    5,-$aa
  1576.     blk.w    5,-$99
  1577.     blk.w    5,-$88
  1578.     blk.w    5,-$77
  1579.     blk.w    5,-$66
  1580.     blk.w    5,-$55
  1581.     blk.w    5,-$44
  1582.     blk.w    5,-$33
  1583.     blk.w    5,-$22
  1584.     blk.w    5,-$11
  1585.     blk.w    5,-$00
  1586.  
  1587.     blk.w    5,$11
  1588.     blk.w    5,$22
  1589.     blk.w    5,$33
  1590.     blk.w    5,$44
  1591.     blk.w    5,$55
  1592.     blk.w    5,$66
  1593.     blk.w    5,$77
  1594.     blk.w    5,$88
  1595.     blk.w    5,$99
  1596.     blk.w    5,$aa
  1597.  
  1598.     blk.w    5,-$aa
  1599.     blk.w    5,-$99
  1600.     blk.w    5,-$88
  1601.     blk.w    5,-$77
  1602.     blk.w    5,-$66
  1603.     blk.w    5,-$55
  1604.     blk.w    5,-$44
  1605.     blk.w    5,-$33
  1606.     blk.w    5,-$22
  1607.     blk.w    5,-$11
  1608.     blk.w    5,-$00
  1609.  
  1610.     blk.w    5,$11
  1611.     blk.w    5,$22
  1612.     blk.w    5,$33
  1613.     blk.w    5,$44
  1614.     blk.w    5,$55
  1615.     blk.w    5,$66
  1616.     blk.w    5,$77
  1617.     blk.w    5,$88
  1618.     blk.w    5,$99
  1619.     blk.w    5,$aa
  1620.  
  1621.     blk.w    5,-$aa
  1622.     blk.w    5,-$99
  1623.     blk.w    5,-$88
  1624.     blk.w    5,-$77
  1625.     blk.w    5,-$66
  1626.     blk.w    5,-$55
  1627.     blk.w    5,-$44
  1628.     blk.w    5,-$33
  1629.     blk.w    5,-$22
  1630.     blk.w    5,-$11
  1631.     blk.w    5,-$00
  1632.  
  1633.     blk.w    5,$11
  1634.     blk.w    5,$22
  1635.     blk.w    5,$33
  1636.     blk.w    5,$44
  1637.     blk.w    5,$55
  1638.     blk.w    5,$66
  1639.     blk.w    5,$77
  1640.     blk.w    5,$88
  1641.     blk.w    5,$99
  1642.     blk.w    5,$aa
  1643.  
  1644.  
  1645. endtab:    dc.w    $abcd,$abcd,$abcd,$abcd
  1646.  
  1647. gfxbase:
  1648.  
  1649.     dc.l    0
  1650.  
  1651. oldcopper:
  1652.  
  1653.     dc.l    0
  1654.  
  1655.  
  1656. newcopper:    DC.W $0100,$1200,$0104,$0003
  1657.         DC.W $00E0,$0007,$00E2,$0000
  1658.         DC.W $0180,$0000,$01A6,$0FFF
  1659.         DC.W $0120
  1660. SHI:        DC.W $0000
  1661.         DC.W $0122
  1662. SLO:        DC.W $0000        
  1663.  
  1664.  
  1665.     dc.w    $1001,$fffe,$0100,$1000,$0102,$0000
  1666.     
  1667.     dc.w    $00e0,$0006,$00e2,$0000    
  1668.     dc.w    $0092,$0028,$0094,$00f8
  1669.     dc.w    $008e,$1e01,$0090,$3eff
  1670.     dc.w    $0108,$002e,$010a,$002e    
  1671.     dc.w    $0180,$0000,$0182,$0bfd    
  1672.     dc.w    $1201,$fffe,$0182
  1673. xcols:    dc.w    $0000,$00e2
  1674. xbps:    dc.w    $005c,$0102
  1675. xscs:    dc.w    $0000
  1676.     dc.w    $1f01,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1677.     dc.w    $2001,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1678.     dc.w    $2101,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1679.     dc.w    $2201,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1680.     dc.w    $2301,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1681.     dc.w    $2401,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1682.     dc.w    $2501,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1683.     dc.w    $2601,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1684.     dc.w    $2701,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1685.     dc.w    $2801,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1686.     dc.w    $2901,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1687.     dc.w    $2a01,$fffe,$0182,$0000,$00e2,$0088,$0102,$0000
  1688.     dc.w    $2b01,$fffe,$0182,$0002,$00e2,$0088,$0102,$0000
  1689.     dc.w    $2c01,$fffe,$0182,$0004,$00e2,$0088,$0102,$0000
  1690.     dc.w    $2d01,$fffe,$0182,$0006,$00e2,$0088,$0102,$0000
  1691.     dc.w    $2e01,$fffe,$0182,$0008,$00e2,$0088,$0102,$0000
  1692.     dc.w    $2f01,$fffe,$0182,$000a,$00e2,$0088,$0102,$0000
  1693.     dc.w    $3001,$fffe,$0182,$000c,$00e2,$0088,$0102,$0000
  1694.     dc.w    $3101,$fffe,$0182,$000e,$00e2,$0088,$0102,$0000
  1695.     dc.w    $3201,$fffe,$0182,$000f,$00e2,$0088,$0102,$0000
  1696.     dc.w    $3301,$fffe,$0182,$002f,$00e2,$0088,$0102,$0000
  1697.     dc.w    $3401,$fffe,$0182,$004f,$00e2,$0088,$0102,$0000
  1698.     dc.w    $3501,$fffe,$0182,$006f,$00e2,$0088,$0102,$0000
  1699.     dc.w    $3601,$fffe,$0182,$008f,$00e2,$0088,$0102,$0000
  1700.     dc.w    $3701,$fffe,$0182,$00af,$00e2,$0088,$0102,$0000
  1701.     dc.w    $3801,$fffe,$0182,$00cf,$00e2,$0088,$0102,$0000
  1702.     dc.w    $3901,$fffe,$0182,$00ef,$00e2,$0088,$0102,$0000
  1703.     dc.w    $3a01,$fffe,$0182,$00ff,$00e2,$0088,$0102,$0000
  1704.     dc.w    $3b01,$fffe,$0182,$00ff,$00e2,$0088,$0102,$0000
  1705.     dc.w    $3c01,$fffe,$0182,$00fe,$00e2,$0088,$0102,$0000
  1706.     dc.w    $3d01,$fffe,$0182,$00fc,$00e2,$0088,$0102,$0000
  1707.     dc.w    $3e01,$fffe,$0182,$00fa,$00e2,$0088,$0102,$0000
  1708.     dc.w    $3f01,$fffe,$0182,$00f8,$00e2,$0088,$0102,$0000
  1709.     dc.w    $4001,$fffe,$0182,$00f6,$00e2,$0088,$0102,$0000
  1710.     dc.w    $4101,$fffe,$0182,$00f4,$00e2,$0088,$0102,$0000
  1711.     dc.w    $4201,$fffe,$0182,$00f2,$00e2,$0088,$0102,$0000
  1712.     dc.w    $4301,$fffe,$0182,$00f0,$00e2,$0088,$0102,$0000
  1713.     dc.w    $4401,$fffe,$0182,$00f0,$00e2,$0088,$0102,$0000
  1714.     dc.w    $4501,$fffe,$0182,$02f0,$00e2,$0088,$0102,$0000
  1715.     dc.w    $4601,$fffe,$0182,$04f0,$00e2,$0088,$0102,$0000
  1716.     dc.w    $4701,$fffe,$0182,$06f0,$00e2,$0088,$0102,$0000
  1717.     dc.w    $4801,$fffe,$0182,$08f0,$00e2,$0088,$0102,$0000
  1718.     dc.w    $4901,$fffe,$0182,$0af0,$00e2,$0088,$0102,$0000
  1719.     dc.w    $4a01,$fffe,$0182,$0cf0,$00e2,$0088,$0102,$0000
  1720.     dc.w    $4b01,$fffe,$0182,$0ef0,$00e2,$0088,$0102,$0000
  1721.     dc.w    $4c01,$fffe,$0182,$0ff0,$00e2,$0088,$0102,$0000
  1722.     dc.w    $4d01,$fffe,$0182,$0ff0,$00e2,$0088,$0102,$0000
  1723.     dc.w    $4e01,$fffe,$0182,$0fe0,$00e2,$0088,$0102,$0000
  1724.     dc.w    $4f01,$fffe,$0182,$0fc0,$00e2,$0088,$0102,$0000
  1725.     dc.w    $5001,$fffe,$0182,$0fa0,$00e2,$0088,$0102,$0000
  1726.     dc.w    $5101,$fffe,$0182,$0f80,$00e2,$0088,$0102,$0000
  1727.     dc.w    $5201,$fffe,$0182,$0f60,$00e2,$0088,$0102,$0000
  1728.     dc.w    $5301,$fffe,$0182,$0f40,$00e2,$0088,$0102,$0000
  1729.     dc.w    $5401,$fffe,$0182,$0f20,$00e2,$0088,$0102,$0000
  1730.     dc.w    $5501,$fffe,$0182,$0f00,$00e2,$0088,$0102,$0000
  1731.     dc.w    $5601,$fffe,$0182,$0f00,$00e2,$0088,$0102,$0000
  1732.     dc.w    $5701,$fffe,$0182,$0f02,$00e2,$0088,$0102,$0000
  1733.     dc.w    $5801,$fffe,$0182,$0f04,$00e2,$0088,$0102,$0000
  1734.     dc.w    $5901,$fffe,$0182,$0f06,$00e2,$0088,$0102,$0000
  1735.     dc.w    $5a01,$fffe,$0182,$0f08,$00e2,$0088,$0102,$0000
  1736.     dc.w    $5b01,$fffe,$0182,$0f0a,$00e2,$0088,$0102,$0000
  1737.     dc.w    $5c01,$fffe,$0182,$0f0c,$00e2,$0088,$0102,$0000
  1738.     dc.w    $5d01,$fffe,$0182,$0f0e,$00e2,$0088,$0102,$0000
  1739.     dc.w    $5e01,$fffe,$0182,$0f0f,$00e2,$0088,$0102,$0000
  1740.     dc.w    $5f01,$fffe,$0182,$0f0f,$00e2,$0088,$0102,$0000
  1741.     dc.w    $6001,$fffe,$0182,$0f2e,$00e2,$0088,$0102,$0000
  1742.     dc.w    $6101,$fffe,$0182,$0f4c,$00e2,$0088,$0102,$0000
  1743.     dc.w    $6201,$fffe,$0182,$0f6a,$00e2,$0088,$0102,$0000
  1744.     dc.w    $6301,$fffe,$0182,$0f88,$00e2,$0088,$0102,$0000
  1745.     dc.w    $6401,$fffe,$0182,$0fa6,$00e2,$0088,$0102,$0000
  1746.     dc.w    $6501,$fffe,$0182,$0fc4,$00e2,$0088,$0102,$0000
  1747.     dc.w    $6601,$fffe,$0182,$0fe2,$00e2,$0088,$0102,$0000
  1748.     dc.w    $6701,$fffe,$0182,$0ff0,$00e2,$0088,$0102,$0000
  1749.     dc.w    $6801,$fffe,$0182,$0ff0,$00e2,$0088,$0102,$0000
  1750.     dc.w    $6901,$fffe,$0182,$0ef2,$00e2,$0088,$0102,$0000
  1751.     dc.w    $6a01,$fffe,$0182,$0cf4,$00e2,$0088,$0102,$0000
  1752.     dc.w    $6b01,$fffe,$0182,$0af6,$00e2,$0088,$0102,$0000
  1753.     dc.w    $6c01,$fffe,$0182,$08f8,$00e2,$0088,$0102,$0000
  1754.     dc.w    $6d01,$fffe,$0182,$06fa,$00e2,$0088,$0102,$0000
  1755.     dc.w    $6e01,$fffe,$0182,$04fc,$00e2,$0088,$0102,$0000
  1756.     dc.w    $6f01,$fffe,$0182,$02fe,$00e2,$0088,$0102,$0000
  1757.     dc.w    $7001,$fffe,$0182,$00ff,$00e2,$0088,$0102,$0000
  1758.     dc.w    $7101,$fffe,$0182,$00ff,$00e2,$0088,$0102,$0000
  1759.     dc.w    $7201,$fffe,$0182,$00ef,$00e2,$0088,$0102,$0000
  1760.     dc.w    $7301,$fffe,$0182,$00cf,$00e2,$0088,$0102,$0000
  1761.     dc.w    $7401,$fffe,$0182,$00af,$00e2,$0088,$0102,$0000
  1762.     dc.w    $7501,$fffe,$0182,$008f,$00e2,$0088,$0102,$0000
  1763.     dc.w    $7601,$fffe,$0182,$006f,$00e2,$0088,$0102,$0000
  1764.     dc.w    $7701,$fffe,$0182,$004f,$00e2,$0088,$0102,$0000
  1765.     dc.w    $7801,$fffe,$0182,$002f,$00e2,$0088,$0102,$0000
  1766.     dc.w    $7901,$fffe,$0182,$000f,$00e2,$0088,$0102,$0000
  1767.     dc.w    $7a01,$fffe,$0182,$000e,$00e2,$0088,$0102,$0000
  1768.     dc.w    $7b01,$fffe,$0182,$000c,$00e2,$0088,$0102,$0000
  1769.     dc.w    $7c01,$fffe,$0182,$000a,$00e2,$0088,$0102,$0000
  1770.     dc.w    $7d01,$fffe,$0182,$0008,$00e2,$0088,$0102,$0000
  1771.     dc.w    $7e01,$fffe,$0182
  1772. xcolf:    dc.w    $0000,$00e2
  1773. xbpf:    dc.w    $0088,$0102
  1774. xscf:    dc.w    $0000
  1775.     dc.w    $7601,$fffe,$0182,$0202,$00e2,$0088,$0102,$0000
  1776.     dc.w    $7701,$fffe,$0182,$0404,$00e2,$0088,$0102,$0000
  1777.     dc.w    $7801,$fffe,$0182,$0606,$00e2,$0088,$0102,$0000
  1778.     dc.w    $7901,$fffe,$0182,$0808,$00e2,$0088,$0102,$0000
  1779.     
  1780.     dc.w    $0180,$0,$0182,0
  1781.     dc.w    $7f01,$fffe
  1782.     dc.w    $0100,$1000,$00e0,$0007,$0108,$0002
  1783.     dc.w    $0092,$0028,$0094,$00f8,$010a,$0002
  1784.     dc.w    $0102
  1785. scrpos:    dc.w    $00ff
  1786. gb1:    dc.w    $8001,$fffe
  1787.     
  1788.     dc.w    $0182,$0000,$00e2
  1789. bp1:    dc.w    $0fff,$0180,$0000
  1790. gb2:    dc.w    $8111,$fffe,$0182,$0111,$00e2,$8fff,$0180,$0101
  1791.     dc.w    $8211,$fffe,$0182,$0222,$00e2,$8fff,$0180,$0201
  1792.     dc.w    $8311,$fffe,$0182,$0333,$00e2,$8fff,$0180,$0302
  1793.     dc.w    $8411,$fffe,$0182,$0444,$00e2,$8fff,$0180,$0402
  1794.     dc.w    $8511,$fffe,$0182,$0555,$00e2,$902d,$0180,$0503
  1795.     dc.w    $8611,$fffe,$0182,$0666,$00e2,$902d,$0180,$0603
  1796.     dc.w    $8711,$fffe,$0182,$0777,$00e2,$902d,$0180,$0704
  1797.     dc.w    $8811,$fffe,$0182,$0888,$00e2,$902d,$0180,$0804
  1798.     dc.w    $8911,$fffe,$0182,$0999,$00e2,$905b,$0180,$0905
  1799.     dc.w    $8a11,$fffe,$0182,$0aaa,$00e2,$905b,$0180,$0a05
  1800.     dc.w    $8b11,$fffe,$0182,$0bbb,$00e2,$905b,$0180,$0b06
  1801.     dc.w    $8c11,$fffe,$0182,$0ccc,$00e2,$905b,$0180,$0c06
  1802.     dc.w    $8d11,$fffe,$0182,$0ddd,$00e2,$9089,$0180,$0d07
  1803.     dc.w    $8e11,$fffe,$0182,$0eee,$00e2,$9089,$0180,$0e07
  1804.     dc.w    $8f11,$fffe,$0182,$0fff,$00e2,$9089,$0180,$0f08
  1805.     dc.w    $9011,$fffe,$0182,$0eee,$00e2,$9089,$0180,$0e07
  1806.     dc.w    $9111,$fffe,$0182,$0ddd,$00e2,$9089,$0180,$0d07
  1807.     dc.w    $9211,$fffe,$0182,$0ccc,$00e2,$9089,$0180,$0c06
  1808.     dc.w    $9311,$fffe,$0182,$0bbb,$00e2,$90b7,$0180,$0b06
  1809.     dc.w    $9411,$fffe,$0182,$0aaa,$00e2,$90b7,$0180,$0a05
  1810.     dc.w    $9511,$fffe,$0182,$0999,$00e2,$90b7,$0180,$0905
  1811.     dc.w    $9611,$fffe,$0182,$0888,$00e2,$90b7,$0180,$0804
  1812.     dc.w    $9711,$fffe,$0182,$0777,$00e2,$90b7,$0180,$0704
  1813.     dc.w    $9811,$fffe,$0182,$0666,$00e2,$90e5,$0180,$0603
  1814.     dc.w    $9911,$fffe,$0182,$0555,$00e2,$90e5,$0180,$0503
  1815.     dc.w    $9a11,$fffe,$0182,$0444,$00e2,$90e5,$0180,$0402
  1816.     dc.w    $9b11,$fffe,$0182,$0333,$00e2,$90e5,$0180,$0302
  1817.     dc.w    $9c11,$fffe,$0182,$0222,$00e2,$9113,$0180,$0201
  1818. GBU:    dc.w    $9d11,$fffe,$0182,$0111,$00e2,$9113,$0180,$0101
  1819.     dc.w    $9e11,$fffe,$0182,$0000,$00e2,$9113,$0180,$000
  1820. bp2:    dc.w    $9113,$fffe,$0182,$0000,$00e2,$9113,$0180,$000
  1821.     
  1822.     
  1823.  
  1824.  
  1825. pal:    dc.w    $ffdf,$fffe,$0021,$fffe
  1826.  
  1827. end:    dc.w    $ffff,$fffe
  1828.     
  1829. spriteset:    MOVE.L        #SPRITE,D0
  1830.         MOVE.W        D0,SLO
  1831.         SWAP         D0
  1832.         MOVE.W        D0,SHI
  1833.         MOVE.L        #NEWCOPPER,(A0)        
  1834.         LEA        SPRITE,A1
  1835.         LEA        XPOS,A2
  1836.         MOVE.L        #$2B,D0
  1837.         MOVE.L        #99,D1
  1838. SLOOP:        MOVE.B        D0,(A1)+
  1839.         ADDQ.W        #1,D0
  1840.         MOVE.B        (A2)+,(A1)+
  1841.         MOVE.B        D0,(A1)+
  1842.         ADDQ.W        #1,D0
  1843.         MOVE.B        #0,(A1)+
  1844.         MOVE.W        #1,(A1)+
  1845.         MOVE.W        #1,(A1)+
  1846.         DBRA        D1,SLOOP
  1847.         rts
  1848.  
  1849.  
  1850. sprites:    bsr        siner
  1851.         LEA        SPRITE,A0
  1852.         LEA        SPEED,A1
  1853.         MOVE.L        #99,D0
  1854. ILOOP:        MOVE.B        (A1)+,D1
  1855.         ADD.B        D1,1(A0)
  1856.         CMPI.B        #99,(A1)
  1857.         BNE        FOR
  1858.         LEA        SPEED,A1
  1859. FOR:        ADDQ.L        #8,A0
  1860.         DBRA        D0,ILOOP    
  1861.         RTS    
  1862.                                 
  1863. ERRL:        RTS
  1864.  
  1865. SPEED:        DC.B 1,2,3,99
  1866.         EVEN
  1867.  
  1868. sinecount:    dc.l    0
  1869.  
  1870. siner:        lea    sinetable,a0
  1871.         lea    speed,a1
  1872.         move.l    sinecount,d0
  1873.         add.l    d0,a0
  1874.         add.l    #1,d0
  1875.         cmp.l    #320,d0
  1876.         blt    cont
  1877.         move.l    #0,d0
  1878.         move.l    d0,sinecount
  1879.         bra    siner
  1880. cont:        move.l    d0,sinecount                
  1881.         move.b    (a0),(a1)
  1882.         move.b    320(a0),1(a1)
  1883.         move.b    640(a0),2(a1)
  1884.         rts
  1885.  
  1886. sinetable:    dc.b    0,0,1,0,1,0,1,1,1,1,2,1,2,1,2
  1887.         blk.b    130,2
  1888.         dc.b    2,1,2,1,2,1,1,1,1,0,1,0,1,0,0
  1889.         dc.b    -0,-0,-1,-0,-1,-0,-1,-1,-1,-1,-2,-1,-2,-1,-2
  1890.         blk.b    130,-2
  1891.         dc.b    -2,-1,-2,-1,-2,-1,-1,-1,-1,-0,-1,-0,-1,-0,-0
  1892.  
  1893.         dc.b    0,1,0,1,1,2,1,2,2,3,2,3,3,4,4
  1894.         blk.b    130,4
  1895.         dc.b    4,4,3,3,2,3,2,2,1,2,1,1,0,1,0
  1896.         dc.b    -0,-1,-0,-1,-1,-2,-1,-2,-2,-3,-2,-3,-3,-4,-4
  1897.         blk.b    130,-4
  1898.         dc.b    -4,-4,-3,-3,-2,-3,-2,-2,-1,-2,-1,-1,-0,-1,-0
  1899.  
  1900.         dc.b    0,1,1,2,2,3,3,4,4,5,5,6,6,7,7
  1901.         blk.b    130,7
  1902.         dc.b    7,7,6,6,5,5,4,4,3,3,2,2,1,1,0
  1903.         dc.b    -0,-1,-1,-2,-2,-3,-3,-4,-4,-5,-5,-6,-6,-7,-7
  1904.         blk.b    130,-7
  1905.         dc.b    -7,-7,-6,-6,-5,-5,-4,-4,-3,-3,-2,-2,-1,-1,-0
  1906.  
  1907.  
  1908.         blk.l    5,0
  1909.  
  1910.  
  1911. XPOS:        DC.B 65,128,205,195,84,130,176,201,75,99,197,154,109
  1912.         DC.B 126,73,192,171,105,104,202,83,61,69,77,159,162
  1913.         DC.B 120,111,210,60,97,143,192,171,207,92,83,77,98
  1914.         DC.B 101,115,121,141,133,75,149,162,192,117,105,73
  1915.         
  1916.         DC.B 47,158,99,127,121,137,36,95,107,209,178,210,117
  1917.         DC.B 37,61,111,196,156,35,37,91,121,36,66,88,59,113
  1918.         DC.B 11,9,23,100,140,39,44,166,188,192,36,49,202,39
  1919.         DC.B 94,141,144,143,211,230,99,100    
  1920.         DC.B 11,9,23,100,140,39,44,166,188,192,36,49,202,39
  1921.         DC.B 94,141,144,143,211,230    
  1922.         EVEN
  1923. SPRITE:     BLK.W    8*50,0
  1924.  
  1925.  
  1926.  
  1927. ;*********************************
  1928. ;* SoundTracker VI - Playroutine *
  1929. ;*                               *
  1930. ;* Improved by Unknown of D.O.C  *
  1931. ;* for SoundTracker IV and VI... *
  1932. ;*********************************
  1933.  
  1934. mt_speed=$1f4
  1935.  
  1936. bsr.s    mt_init
  1937. move.w    #$4000,$dff09a
  1938. move.l    $00006c,mt_oldirq+2
  1939. move.l    #mt_newirq,$00006c
  1940. move.w    #$c000,$dff09a
  1941.  
  1942. mt_wait:
  1943. btst    #6,$bfe001
  1944. bne.s    mt_wait
  1945.  
  1946. move.w    #$000f,$dff096
  1947. move.w    #$4000,$dff09a
  1948. move.l    mt_oldirq+2,$00006c
  1949. move.w    #$c000,$dff09a
  1950. clr.l    d0
  1951. rts
  1952.  
  1953. mt_init:
  1954. move.l    #mt_snd1,mt_sample1
  1955. move.l    #mt_snd2,mt_sample2
  1956. move.l    #mt_snd3,mt_sample3
  1957. move.l    #mt_snd4,mt_sample4
  1958. move.l    #mt_snd5,mt_sample5
  1959. move.l    #mt_snd6,mt_sample6
  1960. move.l    #mt_snd7,mt_sample7
  1961. move.l    #mt_snd8,mt_sample8
  1962. move.l    #mt_snd9,mt_sample9
  1963. move.l    #mt_snda,mt_sample10
  1964. move.l    #mt_sndb,mt_sample11
  1965. move.l    #mt_sndc,mt_sample12
  1966. move.l    #mt_sndd,mt_sample13
  1967. move.l    #mt_snde,mt_sample14
  1968. move.l    #mt_sndf,mt_sample15
  1969. move.l    #mt_sample1,a0
  1970. clr.l    d0
  1971. mt_clear:
  1972. move.l    (a0,d0),a1
  1973. clr.l    (a1)
  1974. addq    #4,d0
  1975. cmp.l    #$3c,d0
  1976. bne.s    mt_clear
  1977.  
  1978. move.w    #0,$dff0a8
  1979. move.w    #0,$dff0b8
  1980. move.w    #0,$dff0c8
  1981. move.w    #0,$dff0d8
  1982. clr.l    mt_partnrplay
  1983. clr.l    mt_partnote
  1984. clr.l    mt_partpoint
  1985.  
  1986. move.b    mt_muzakdata+$1d6,mt_maxpart+1
  1987. move.b    mt_muzakdata+$1d7,mt_kn1+1
  1988. rts
  1989.  
  1990. mt_newirq:
  1991. movem.l    d0-d7/a0-a6,-(a7)
  1992. bsr.s    mt_music
  1993. movem.l    (a7)+,d0-d7/a0-a6
  1994. mt_oldirq:
  1995. jmp    $000000
  1996.  
  1997. mt_music:
  1998. addq.l    #1,mt_counter
  1999. mt_cool:
  2000. cmp.l    #6,mt_counter
  2001. bne.s    mt_notsix
  2002. clr.l    mt_counter
  2003. bra    mt_rout2
  2004.  
  2005. mt_notsix:
  2006. lea    mt_aud1temp,a6
  2007. tst.b    3(a6)
  2008. beq.s    mt_arp1
  2009. move.l    #$dff0a0,a5        
  2010. bsr.s    mt_arprout
  2011.  
  2012. mt_arp1:
  2013. lea    mt_aud2temp,a6
  2014. tst.b    3(a6)
  2015. beq.s    mt_arp2
  2016. move.l    #$dff0b0,a5
  2017. bsr.s    mt_arprout
  2018.  
  2019. mt_arp2:
  2020. lea    mt_aud3temp,a6
  2021. tst.b    3(a6)
  2022. beq.s    mt_arp3
  2023. move.l    #$dff0c0,a5
  2024. bsr.s    mt_arprout
  2025.  
  2026. mt_arp3:
  2027. lea    mt_aud4temp,a6
  2028. tst.b    3(a6)
  2029. beq.s    mt_arp4
  2030. move.l    #$dff0d0,a5
  2031. bra.s    mt_arprout
  2032. mt_arp4:
  2033. rts
  2034.  
  2035. mt_arprout:
  2036. tst.w    24(a6)
  2037. beq.s    mt_noslide
  2038.  
  2039. clr.w    d0
  2040. move.b    25(a6),d0
  2041. lsr.b    #4,d0
  2042. tst.b    d0
  2043. beq.s    mt_voldwn2
  2044. bsr    mt_pushvol1
  2045. bra.s    mt_noslide
  2046.  
  2047. mt_voldwn2:
  2048. clr.w    d0
  2049. move.b    25(a6),d0
  2050. bsr    mt_pushvol2
  2051.  
  2052. mt_noslide:
  2053. move.b    2(a6),d0
  2054. and.b    #$0f,d0
  2055. tst.b    d0
  2056. beq    mt_arpegrt
  2057. cmp.b    #3,d0
  2058. beq    mt_arpegrt
  2059. cmp.b    #4,d0
  2060. beq    mt_arpegrt
  2061. cmp.b    #5,d0
  2062. beq    mt_arpegrt
  2063. cmp.b    #1,d0
  2064. beq.s    mt_portup
  2065. cmp.b    #6,d0
  2066. beq.s    mt_portup
  2067. cmp.b    #7,d0
  2068. beq.s    mt_portup
  2069. cmp.b    #8,d0
  2070. beq.s    mt_portup
  2071. cmp.b    #2,d0
  2072. beq.s    mt_portdwn
  2073. cmp.b    #9,d0
  2074. beq.s    mt_portdwn
  2075. cmp.b    #10,d0
  2076. beq.s    mt_portdwn
  2077. cmp.b    #11,d0
  2078. beq.s    mt_portdwn
  2079. cmp.b    #13,d0
  2080. beq.s    mt_volup
  2081. rts
  2082.  
  2083. mt_portup:
  2084. clr.w    d0
  2085. move.b    3(a6),d0
  2086. sub.w    d0,22(a6)
  2087. cmp.w    #$71,22(a6)
  2088. bpl.s    mt_ok1
  2089. move.w    #$71,22(a6)
  2090. mt_ok1:
  2091. move.w    22(a6),6(a5)
  2092. rts
  2093.  
  2094. mt_portdwn:
  2095. clr.w    d0
  2096. move.b    3(a6),d0
  2097. add.w    d0,22(a6)
  2098. cmp.w    #$358,22(a6)
  2099. bmi.s    mt_ok2
  2100. move.w    #$358,22(a6)
  2101. mt_ok2:
  2102. move.w    22(a6),6(a5)
  2103. rts
  2104.  
  2105. mt_volup:
  2106. clr.w    d0
  2107. move.b    3(a6),d0
  2108. lsr.b    #4,d0
  2109. tst.b    d0
  2110. beq.s    mt_voldwn
  2111. mt_pushvol1:
  2112. add.w    d0,$12(a6)
  2113. cmp.w    #$40,$12(a6)
  2114. bmi.s    mt_ok3
  2115. move.w    #$40,$12(a6)
  2116. mt_ok3:
  2117. move.w    $12(a6),8(a5)
  2118. rts
  2119.  
  2120. mt_voldwn:
  2121. clr.w    d0
  2122. move.b    3(a6),d0
  2123. mt_pushvol2:
  2124. and.b    #$0f,d0
  2125. sub.w    d0,$12(a6)
  2126. bpl.s    mt_ok4
  2127. clr.w    $12(a6)
  2128. mt_ok4:
  2129. move.w    $12(a6),8(a5)
  2130. rts
  2131.  
  2132. mt_arpegrt:
  2133. cmp.l    #1,mt_counter
  2134. beq.s    mt_loop2
  2135. cmp.l    #2,mt_counter
  2136. beq.s    mt_loop3
  2137. cmp.l    #3,mt_counter
  2138. beq.s    mt_loop4
  2139. cmp.l    #4,mt_counter
  2140. beq.s    mt_loop2
  2141. cmp.l    #5,mt_counter
  2142. beq.s    mt_loop3
  2143. rts
  2144.  
  2145. mt_loop2:
  2146. clr.l    d0
  2147. move.b    3(a6),d0
  2148. lsr.b    #4,d0
  2149. bra.s    mt_cont
  2150.  
  2151. mt_loop3:
  2152. clr.l    d0
  2153. move.b    3(a6),d0
  2154. and.b    #$0f,d0
  2155. bra.s    mt_cont
  2156.  
  2157. mt_loop4:
  2158. move.w    16(a6),d2
  2159. bra.s    mt_endpart
  2160.  
  2161. mt_cont:
  2162. lsl.w    #1,d0
  2163. clr.l    d1
  2164. move.w    16(a6),d1
  2165. lea    mt_arpeggio,a0
  2166. mt_loop5:
  2167. move.w    (a0,d0),d2
  2168. cmp.w    (a0),d1
  2169. beq.s    mt_endpart
  2170. addq.l    #2,a0
  2171. bra.s    mt_loop5
  2172.  
  2173. mt_endpart:
  2174. move.w    d2,6(a5)
  2175. rts
  2176.  
  2177. mt_rout2:
  2178. lea    mt_muzakdata,a0
  2179. move.l    a0,a3
  2180. add.l    #$0c,a3
  2181. move.l    a0,a2
  2182. add.l    #$1d8,a2
  2183. add.l    #$258,a0
  2184. move.l    mt_partnrplay,d0
  2185. clr.l    d1
  2186. move.b    (a2,d0),d1
  2187. mulu    #$0400,d1
  2188. add.l    mt_partnote,d1
  2189. move.l    d1,mt_partpoint
  2190. clr.w    mt_dmacon
  2191.  
  2192. move.l    #$dff0a0,a5
  2193. lea    mt_aud1temp,a6
  2194. bsr    mt_playit
  2195.  
  2196. move.l    #$dff0b0,a5
  2197. lea    mt_aud2temp,a6
  2198. bsr    mt_playit
  2199.  
  2200. move.l    #$dff0c0,a5
  2201. lea    mt_aud3temp,a6
  2202. bsr    mt_playit
  2203.  
  2204. move.l    #$dff0d0,a5
  2205. lea    mt_aud4temp,a6
  2206. bsr    mt_playit
  2207.  
  2208. move.l    #mt_speed,d0
  2209. mt_rls:
  2210. dbf    d0,mt_rls
  2211.  
  2212. move.l    #$8000,d0
  2213. add.w    mt_dmacon,d0
  2214. move.w    d0,$dff096
  2215.  
  2216. move.l    #mt_aud4temp,a6
  2217. cmp.w    #1,14(a6)
  2218. bne.s    mt_voice3
  2219. move.l    10(a6),$dff0d0
  2220. move.w    #1,$dff0d4
  2221. mt_voice3:
  2222. move.l    #mt_aud3temp,a6
  2223. cmp.w    #1,14(a6)
  2224. bne.s    mt_voice2
  2225. move.l    10(a6),$dff0c0
  2226. move.w    #1,$dff0c4
  2227. mt_voice2:
  2228. move.l    #mt_aud2temp,a6
  2229. cmp.w    #1,14(a6)
  2230. bne.s    mt_voice1
  2231. move.l    10(a6),$dff0b0
  2232. move.w    #1,$dff0b4
  2233. mt_voice1:
  2234. move.l    #mt_aud1temp,a6
  2235. cmp.w    #1,14(a6)
  2236. bne.s    mt_voice0
  2237. move.l    10(a6),$dff0a0
  2238. move.w    #1,$dff0a4
  2239.  
  2240. mt_voice0:
  2241. move.l    mt_partnote,d0
  2242. add.l    #$10,d0
  2243. move.l    d0,mt_partnote
  2244. cmp.l    #$400,d0
  2245. bne.s    mt_stop
  2246. clr.l    mt_partnote
  2247. addq.l    #1,mt_partnrplay
  2248. clr.l    d0
  2249. move.w    mt_maxpart,d0
  2250. move.l    mt_partnrplay,d1
  2251. cmp.l    d0,d1
  2252. bne.s    mt_stop
  2253. clr.l    mt_partnrplay
  2254. mt_stop:
  2255. rts
  2256.  
  2257. mt_playit:
  2258. move.l    (a0,d1),(a6)
  2259. addq.l    #4,d1
  2260. clr.l    d2
  2261. move.b    2(a6),d2
  2262. and.b    #$f0,d2
  2263. lsr.b    #4,d2
  2264. tst.b    d2
  2265. beq.s    mt_nosamplechange
  2266.  
  2267. clr.l    d3
  2268. lea    mt_samples,a1
  2269. move.l    d2,d4
  2270. mulu    #4,d2
  2271. mulu    #$1e,d4
  2272. move.l    (a1,d2),4(a6)
  2273. move.w    (a3,d4),8(a6)
  2274. move.w    2(a3,d4),18(a6)
  2275. move.w    4(a3,d4),d3
  2276. tst.w    d3
  2277. beq.s    mt_displace
  2278. move.l    4(a6),d2
  2279. add.l    d3,d2
  2280. move.l    d2,4(a6)
  2281. move.l    d2,10(a6)
  2282. move.w    6(a3,d4),8(a6)
  2283. move.w    6(a3,d4),14(a6)
  2284. move.w    18(a6),8(a5)
  2285. bra.s    mt_nosamplechange
  2286. mt_displace:
  2287. move.l    4(a6),d2
  2288. add.l    d3,d2
  2289. move.l    d2,10(a6)
  2290. move.w    6(a3,d4),14(a6)
  2291. move.w    18(a6),8(a5)
  2292. mt_nosamplechange:
  2293. tst.w    (a6)
  2294. beq.s    mt_retrout
  2295. move.w    (a6),16(a6)
  2296. move.w    20(a6),$dff096
  2297. move.l    4(a6),(a5)
  2298. move.w    8(a6),4(a5)
  2299. move.w    (a6),6(a5)
  2300. move.w    20(a6),d0
  2301. or.w    d0,mt_dmacon
  2302.  
  2303. mt_retrout:
  2304. move.w    20(a6),d0
  2305. lsl.w    #4,d0
  2306. add.w    20(a6),d0
  2307. move.w    d0,$dff09e
  2308.  
  2309. tst.w    (a6)
  2310. beq.s    mt_nonewper
  2311. move.w    (a6),22(a6)
  2312.  
  2313. mt_nonewper:
  2314. move.b    2(a6),d0
  2315. and.b    #$0f,d0
  2316. cmp.b    #14,d0
  2317. bne.s    mt_noset
  2318. move.w    2(a6),24(a6)
  2319. rts
  2320.  
  2321. mt_noset:
  2322. tst.b    3(a6)
  2323. bne.s    mt_noclr
  2324. clr.w    24(a6)
  2325. mt_noclr:
  2326. cmp.b    #3,d0
  2327. beq.s    mt_modvol
  2328. cmp.b    #6,d0
  2329. beq.s    mt_modvol
  2330. cmp.b    #9,d0
  2331. beq.s    mt_modvol
  2332. cmp.b    #4,d0
  2333. beq.s    mt_modper
  2334. cmp.b    #7,d0
  2335. beq.s    mt_modper
  2336. cmp.b    #10,d0
  2337. beq.s    mt_modper
  2338. cmp.b    #5,d0
  2339. beq.s    mt_modvolper
  2340. cmp.b    #8,d0
  2341. beq.s    mt_modvolper
  2342. cmp.b    #11,d0
  2343. beq.s    mt_modvolper
  2344. cmp.b    #15,d0
  2345. beq.s    mt_chgspeed
  2346. cmp.b    #12,d0
  2347. bne.s    mt_nochnge
  2348. move.b    3(a6),8(a5)
  2349. mt_nochnge:
  2350. rts
  2351.  
  2352. mt_chgspeed:
  2353. move.b    3(a6),d0
  2354. and.b    #$0f,d0
  2355. beq.s    mt_nochnge
  2356. clr.l    mt_counter
  2357. move.b    d0,mt_cool+5
  2358. rts
  2359.  
  2360. mt_modvol:
  2361. move.w    20(a6),d0
  2362. bra.s    mt_push
  2363.  
  2364. mt_modper:
  2365. move.w    20(a6),d0
  2366. lsl.w    #4,d0
  2367. bra.s    mt_push
  2368.  
  2369. mt_modvolper:
  2370. move.w    20(a6),d0
  2371. lsl.w    #4,d0
  2372. add.w    20(a6),d0
  2373.  
  2374. mt_push:
  2375. add.w    #$8000,d0
  2376. move.w    d0,$dff09e
  2377. rts
  2378.  
  2379. mt_aud1temp:
  2380. dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  2381. dc.w $0000,$0000,$0001,$0000,$0000
  2382. mt_aud2temp:
  2383. dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  2384. dc.w $0000,$0000,$0002,$0000,$0000
  2385. mt_aud3temp:
  2386. dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  2387. dc.w $0000,$0000,$0004,$0000,$0000
  2388. mt_aud4temp:
  2389. dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  2390. dc.w $0000,$0000,$0008,$0000,$0000
  2391. mt_partnote:
  2392. dc.l 0
  2393. mt_partnrplay:
  2394. dc.l 0
  2395. mt_counter:
  2396. dc.l 0
  2397. mt_partpoint:
  2398. dc.l 0
  2399. mt_samples:
  2400. dc.w $0000,$0000
  2401. mt_sample1:
  2402. dc.l 0
  2403. mt_sample2:
  2404. dc.l 0
  2405. mt_sample3:
  2406. dc.l 0
  2407. mt_sample4:
  2408. dc.l 0
  2409. mt_sample5:
  2410. dc.l 0
  2411. mt_sample6:
  2412. dc.l 0
  2413. mt_sample7:
  2414. dc.l 0
  2415. mt_sample8:
  2416. dc.l 0
  2417. mt_sample9:
  2418. dc.l 0
  2419. mt_sample10:
  2420. dc.l 0
  2421. mt_sample11:
  2422. dc.l 0
  2423. mt_sample12:
  2424. dc.l 0
  2425. mt_sample13:
  2426. dc.l 0
  2427. mt_sample14:
  2428. dc.l 0
  2429. mt_sample15:
  2430. dc.l 0
  2431. mt_maxpart:
  2432. dc.w $0000
  2433. mt_kn1:
  2434. dc.w $0000
  2435. mt_dmacon:
  2436. dc.w $0000
  2437.  
  2438. mt_arpeggio:
  2439. dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c
  2440. dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d
  2441. dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0
  2442. dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097
  2443. dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000
  2444.  
  2445. mt_snd1:    blk.b    3000,0
  2446. mt_snd2:    blk.b    3400,0
  2447. mt_snd3:    blk.b    3000,0
  2448. mt_snd4:    blk.b    4800,0
  2449. mt_snd5:    blk.b    8900,0
  2450. mt_snd6:    blk.b    9900,0
  2451. mt_snd7:    blk.b    9400,0
  2452. mt_snd8:    blk.b    2000,0
  2453. mt_snd9:    blk.b    5000,0
  2454. mt_snda:    blk.b    2000,0
  2455. mt_sndb:    blk.b    9200,0
  2456. mt_sndc:    blk.b    6900,0
  2457. mt_sndd:    blk.b    9900,0
  2458. mt_snde:    blk.b    5300,0
  2459. mt_sndf:    blk.b    1200,0
  2460.  
  2461. mt_muzakdata:    blk.b    20000,0
  2462.